
FastDFS是一个开源的轻量级分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。
FastDFS系统结构如下图所示:
跟踪器和存储节点都可以由一台多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。
为 了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就 是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负 载均衡的作用。
在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。
当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。
FastDFS file upload
上传文件交互过程:
1 client询问tracker上传到的storage,不需要附加参数;
2 tracker返回一台可用的storage;
3 client直接和storage通讯完成文件上传。
FastDFS file download
下载文件交互过程:
1 client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
2 tracker返回一台可用的storage;
3 client直接和storage通讯完成文件下载。
需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。
google code地址:>数据云平台:
1
阿里云,适合中小企业;
2
腾讯云,适合游戏客户、开发者、APP用户等;
3
小鸟云,适合中小型及大型企业;
4
华为云,适合政府、大中型企业、银行等大客户。
企业里常用的数据库软件有Mysql、PostgreSQL、Microsoft SQL Server、Oracle数据库、MongoDB。
1、Mysql。
MySQL原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被升阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购升阳微系统公司,MySQL成为Oracle旗下产品。
MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。
2、PostgreSQL。
PostgreSQL 可以说是目前功能最强大、特性最丰富和结构最复杂的开源数据库管理系统,其中有些特性甚至连商业数据库都不具备。这个起源于加州大学伯克利分校的数据库,现已成为一项国际开发项目,并且拥有广泛的用户群,尤其是在海外,目前国内使用者也越来越多。
PostgreSQL 基本上算是见证了整个数据库理论和技术的发展历程,由 UCB 计算机教授 Michael Stonebraker 于 1986 年创建。在此之前,Stonebraker 教授主导了关系数据库 Ingres 研究项目,88 年,提出了 Postgres 的第一个原型设计。
MySQL 号称是使用最广泛的开源数据库,而 PG 则被称为功能最强大的开源数据库。
3、Microsoft SQL Server。
SQL Server 是 Microsoft 开发的一个关系数据库管理系统(RDBMS),现在是世界上最为常用的数据库。SQL Server 现在是包括内置的商务智能工具,以及一系列的分析和报告工具,可以创建数据库、备份、复制、安全性更好以及更多。
SQL Server 是一个高度可扩展的产品,可以从一个单一的笔记本电脑上运行的任何东西或以高倍云服务器网络,或在两者之间任何东西。虽然说是“任何东西”,但是仍然要满足相关的软件和硬件的要求。
4、Oracle数据库。
Oracle数据库系统是美国Oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(Client/Server,C/S)或浏览器/服务器(Browser/Server,B/S)体系结构的数据库之一。
Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
5、MongoDB
mongoDB是一个介于关系数据库和非关系数据库之间的开源产品,是最接近于关系型数据库的NoSQL数据库。它在轻量级JSON交换基础之上进行了扩展,即称为BSON的方式来描述其无结构化的数据类型。尽管如此它同样可以存储较为复杂的数据类型。
参考资料来源:百度百科——Mysql
参考资料来源:百度百科——PostgreSQL
参考资料来源:百度百科——Microsoft SQL Server
参考资料来源:百度百科——Oracle数据库
参考资料来源:百度百科——MongoDB
问题一:有哪些软件有云空间 百度云,360云盘,115云盘,QQ,华为云盘基本的软件大多都有云空间的!对您有帮助请采纳谢谢!问题二:有哪些好用的免费云存储软件? 360云盘,不限速,百度云限速很慢的
问题三:iphone支持的云存储软件有哪些,哪个最好 国外的有Dropbox,Box,Google Drive,SkyDrive
国内的有新浪微盘,微云,360云盘,百度云,快盘,金山T盘,115,华为网盘,酷盘,云诺。。。。等等
Dropbox没中文,免费容量比较小
Google Drive因为qiang的原因移动端还好,PC端可能不太稳定,没qiang的话还是很不错的。且几天前Gmail整合了Google Driv顶,支持10GB附件,对其他产品影响还是蛮大的
SkyDrive微软的,免费7GB
国内的没用过,新浪微盘好像不错,排前面的几个都可以,后面的感觉一般般。
其实主要看你用哪家的服务比较多了,技术宅用Dropbox,Google拥趸用Google Drive,商务精英(黑)、Win8、WP7、WP8用户用SkyDrive,性浪微博用户用微盘,企鹅粉丝用微云,360××用云盘。。。最好还是自己都试用下
问题四:云计算平台软件有什么? 云计算分为IAAS、PAAS和SAAS,如果你说的云计算平台是指PAAS,那软件数不胜数,像金蝶、ERP、中软的财务软件、SAP都可以做成云平台软件。如果你指的是IAAS,目前商业的主要有VM的VCenter、RedHat的RHEVM、微软的等,开源的就更多了,如OpenStack等,看你想了解什么
问题五:什么是云端软件 是一个软件使用平台。那些安装进云端的软件,都是解压进去的。相当于网上的绿色版软件。不会在系统中出现安装程序。比较方便。垃圾也比较少。
问题六:云播软件有哪些 你好可以云播的软件有好多,比如 快播 迅雷 PPS 等等都可以先放到云收藏有空再看的,希望你自己用手机下载了自己去了解一下!
希望能帮到你!
希望对你能有所帮助。
问题七:云记账软件有哪些?哪个好? 云记账软件现在有很多啊,你要是个人用的话有个随手记的还行,公司用的话就用个象过河的这个记账软件。
问题八:除了微云还有什么软件 楼主问的是云端硬盘么?现在这样的软件多了,微云、百度云、阿里云、360云盘、DROPBOX、谷歌的云端硬盘等等,看你喜欢那个,个人觉得微云、百度云比较方便可以用QQ号直接登录,不用再另外注册账号,很方便。
问题九:云交易工具有哪些? 应该不在少数吧,其实不了解也没关系,有心去研究,认真做功课就可以了,说白了只要抓到其中的规律,都能玩得转,像准时到账的出入金,宝盛云交易不就如此的么。
问题十:云计算平台有哪些 云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台
云计算平台是云计算时代兵家争夺激烈的地方。
1开源云计算平台
(1)AbiCloud(Abiquo公司)
AbiCloud是一款用于公司的开源的云计算平台,使公司能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础设施(包括虚拟服务器、网络、应用、存储设备等)
(2)Hadoop(Apache基金会)
该计划是完全模仿Google体系架构做的一个开源项目,主要包括Map/Reduce和HDFS文件系统
(3)Eucalyptus项目(加利福尼亚大学)
创建了一个使企业能够使用它们内部IT资源(包括服务器、存储系统、网络设备)的开源界面,来建立能够和Amazon EC2兼容的云
(4)MongoDB(10gen)
MongoDB是一个高性能、开源、无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式
(5)Enomali d性计算平台
它提供了一个功能类似于EC2的云计算框架。Enomali 基于Linux,同时支持Xen和Kernel Virtual Machine(KVM)。与其他纯IaaS解决方案不同的是,Enomali 提供了一个基于Turbo Gears Web应用程序框架和Python的软件栈
(6)Nimbus(网格中间件Globus)
Nimbus面向科学计算需求,通过一组开源工具来实现基础设施即服务(IaaS)的云计算解决方案
2云计算平台厂商
(1)微软
技术特性:整合其所用软件及数据服务
核心技术:大型应用软件开发技术
企业服务:Azure平台
开发语言:NET
(2)Google
技术特性:储存及运算水平扩充能力
核心技术:平行分散技术MapReduce,BigTable,GFS
企业服务:Google AppEngine,应用代管服务
开发语言:Python,Java
(3)IBM
技术特性:整合其所有软件及硬件服务
核心技术:网格技术,分布式存储,动态负载
企业服务:虚拟资源池提供,企业云计算整合方案
(4)Oracle
技术特性:软硬件d性虚拟平台
核心技术:Orackle的数据存储技术,Sun开源技术
企业服务:EC2上的Oracle数据库,OracleVM,Sun xVM
(5)Amazon
技术特性:d性虚拟平台
核心技术:虚拟化技术Xen
企业服务:EC2、S3,SimpleDB、SQS
开发语言:
(6)Saleforce
技术特性:d性可定制商务软件
核心技术:应用平台整合技术
企业服务:Force
开发语言:Java,APEX
(7)EMC
技术特性:信息存储系统及虚拟化技术
核心技术:Vmware的虚拟化技术,一流存储技术
企业服务:Atoms云存储系统,私有云解决方案
(8)阿里巴巴
技术特性:d性可定制商务软件
核心技术:应用平台整合技术
企业服务:软件互联平台,云电子商务平台
(9)中国移动
技术特性:坚实的网络技术丰富的带宽资源
核心技术:底层集群部署技术,资源池虚拟技术,网络相关技术
了解更多开源相关,去LUPA社区看看吧。>>
常用的数据库软件有:
1、Oracle
70年代 一间名为Ampex的软件公司,正为中央情报局设计一套名叫Oracle的数据库,Ellison是程序员之一。Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站、银行、证券、电信等都选用了Oracle系统。
2、SQL Server
SQLServer(Structured Query Language Server) 是一个关系数据库管理系统(DBMS)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。
在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。
3、ACCESS
Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等 *** 作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
4、DB2
IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2Windows等平台下。
DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。
5、MySQL
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。对于Mysql的前途,没有任何人抱乐观的态度。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
扩展资料:
Visual FoxPro原名FoxBase,最初是由美国Fox Software公司于1988年推出的数据库产品,在DOS上运行,与xBase系列兼容。
FoxPro是FoxBase的加强版,最高版本曾出过26。之后于1992年,Fox Software公司被Microsoft收购,加以发展,使其可以在Windows上运行,并且更名为 Visual FoxPro。
FoxPro比FoxBASE在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。
参考资料:
百度百科-数据库软件
1开源网络监控工具:NetXMS
NetXMS提供了企业级开源网络管理和监控程序,它在Windows和Linux上有一个简单的用户界面。
NetXMS通过相对简单的安装过程为IT基础架构的所有层提供了分布式网络监控、自动化网络发现和详细报告。
此外,服务器设备和代理对于这样一个全面的产品来说是相当轻量级的。
2开源网络监控工具:PandoraFMS
定位于企业级,PandoraFMS提供了一个时尚且整洁的用户体验,提供了易于阅读的快速洞察工具以及重要的网络统计信息,例如网络状态、已上报的告警、已部署的代理数量和其他最近执行任务的列表。
PandoraFMS可以在无需外部访问的情况下执行网络诊断,这意味着用户可以更快地响应任何网络问题。事实上,FMS声称,在代理模式下的器监控系统响应速度约为10秒。
3开源网络监控工具:Cacti
最初发布于2001年,Cacti是一款开源的基于Web的网络监控和专为数据记录而设计的图形化工具。它可以用于实时显示网络数据,如CPU负载或带宽利用率。
Cacti是RRDtool的前端应用程序,RRDtool是一种用于存储实时变化数据的开源数据库工具,其使用SNMP作为其默认收集算法,但如果你喜欢本地Perl的PHP脚本,那么你也可以使用它们。
其最新版本088h于2016年5月发布,主要功能包括无限图形项目、图形自动填充支持、图形数据处理、自定义数据采集脚本、内置SNMP支持、图形模板、数据源模板、主机模板和基于用户的管理。
4开源网络监控工具:GroundWorkMonitorCore
GroundWorkMonitorCore是监控网络、应用和云计算使用情况的平台。开源版本包含最多可监控50个设备和基于社区的支持的许可证,该软件还有其对应的商业版本。
在其网络管理功能方面,GroundWork提供网络和设备的自发现和维护、拓扑、报警控制、通过API/SNMP/IPMI的数据收集和对SDN的支持等功能。
GroundWork还提供了存储管理,支持大规模的企业级供应商,如NetApp和EMC,以及从磁盘、块或对象存储的数据收集和存储缓冲以及中断可视化。
由于GroundWork的一站式网络管理方法,这种套件可能更适合那些寻找成熟品牌的大型商业和企业,而不是以开发人员为重点的工具,如BigBrother或BigSister。
5开源网络监控工具:Hyperic
VMware的Hyperic工具用于在物理、虚拟或云环境下监控Web应用程序及其性能。它适用于应用程序服务器,web服务器,数据库, *** 作系统,虚拟机管理程序,消息传递服务和目录服务器。
Hyperic提供基础架构和 *** 作系统监控,详细的报告,应用程序和中间件监控,警报和修复工作流程以及通用可扩展的API。
该网络监控工具提供了企业版本,可以提高网络警报功能,并且能更好地创建基准。
6开源网络监控工具:Observium
基于Linux的Observium是一个自动监测的网络监控工具。据该网站介绍,“该工具是由一批经验丰富的专业网络工程师和系统管理员开发和维护的,Observium是一个由用户自己设计和构建的平台。”
Observium提供社区版本和专业版,使用RRDTool进行缓冲存储和图形化功能,并具有易于使用的用户界面和报告功能。但是,它没有报告导出功能,这可能对商务应用来讲会是一个问题。
社区版本将为用户提供对所有支持设备或指标的完整自动监测功能,通过自动发现协议进行网络映射,自动识别数百种设备,并且每六个月发布一个新版本。
而专业版用户将获得所有社区版本的功能并且还将获得实时软件更新和修复功能,基于规则的自动分组功能,网络阈值和状态警报系统以及流量统计系统。
7开源网络监控工具:Zabbix
Zabbix作为企业级的网络监控工具,通过从服务器,虚拟机和网络设备收集的数据提供实时监控,自动发现,映射和可扩展等功能。
Zabbix的企业级监控软件为用户提供内置的Java应用服务器监控,硬件监控,VMware监控和CPU,内存,网络,磁盘空间性能监控。
初级: syslog基中管理 + 手工编写分析脚本 + CGI输出,适合简单分析,数据量不大的场景进阶:LogStash,是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。个人用下来感觉它的全文检索功能最为强大,基本上你可以把它看成是splunk的开源解决方案
更灵活: Flume + Hadoop + Hive,这三个都是属于Apache基金会下的项目,Flume用与收集日志,Hadoop用于分析与存储,Hive用于存放处理后的数据。这个方案是最灵活也是最强大的,不过搭配起来需要花时间,UI要另外编写。问题一:内存数据库主流的有哪些,并给出各自特点! 这里介绍一些大型的市场占有率比较高的内存数据库,也是业界响当当的―SAP HANA、Oracle Exalytics、Orale TimesTen、IBM SolidDB,可以说他们之间没有说是哪个最好,主要还是看使用的场景和具体的需求,各自特点如下:
SAP HANA(High-Performance Analytic Appliance)是 SAP 公司于 2011 年推出的基于 内存计算技术,面向企业分析性应用的产品。左图 的系统架构示意图中可以看出, HANA 产品主要包括内存计算引擎和 HANA 建模工具两部分。它支持从 SAP 商务套件中 同步更新业务数据,或者从 SAP BW(SAP 商务智能产品)和其他第三方数据源中批量导 入数据,在 HANA 中进行运算后,提供给 SAP BI 客户端或者其他第三方展现工具进行分 析和展现。
Oracle Exalytics 内存分析一体机是面向分析的集成设计系统,可以无限制提供最佳可 视化分析和更智能的分析应用程序。 如图 所示, Oracle Exalytics 内存分析一体机的产品架构包括 3 个部分: 内容分析 硬件、内存分析软件和经过优化的 Oracle 商务智能基础套件(Oracle BI Foundation)。内存分析硬件部分是一台为基于内存计算的商务智能而特别优化的服务器,具有提供 强劲计算能力的 40 核中央处理器,高达 1TB 的内存以及快速的网络 内存分析软件部分的核心是 Oracle TimesTen 内存数据库。它是为 Exalytics 平台而特 别优化的内存分析数据库,包括了很多 Oracle Exalytics 平台特有的功能。Oracle 商务智能基础套件部分受益于 Oracle Exalytics 内存分析一体机的大容量内存、 处理器、并发处理能力、存储、网络、 *** 作系统、内核和系统配置等,可以提供明显优于传统软件的查询响应性、用户可用性和 TCO。
Oracle 内存数据库TimesTen 是一个基于内存计算的关系数据库, 提供了响应时间极 短且吞吐量极高的应用程序,可满足各行业应用程序的需求。 TimesTen 是一个可嵌入到应用程序中的数据库, 通过消除进程间通信和网络 开销,进一步提高数据库 *** 作的性能。Oracle 内 存 数 据 库 TimesTen 使 用 行 级 锁 定 和 提 交 后 读 取 (mitted-read) 隔离,通过事务日志记录与数据库检查点相结合实现了基于磁盘的持久 性和可恢复性。TimesTen 通常与多用户和多线程应用程序一起部署,应用程序直接通过 JDBC、 ODBC、 Oracle 调用接口、 ProC/C++ 和Oracle PL/SQL 编程接口, 使用标准SQL 访问TimesTen 数据库。若运行在不同服务器上的多个应用程序共享一个数据库时,则使 用常规的客户端/服务器访问方式。
IBM solidDB 是一个内存数据库,专为获取极高的速度和可用性而进行优化。如图 所示,IBM solidDB 既可以单独部署作为独立的数据库支持应用程序,也可 以部署为其他关系型数据库的加速缓存以提高应用程序性能。solidDB Universal Cache 功能将这些数据库中存储的性能关键型数据 缓存到solidDB Universal Cache 中,加快领先关系数据库的速度。solidDB Universal Cache 功能使用检查点和事务日志将数据持久保存在 磁盘上>>
问题二:开源的内存数据库都有哪些 1最简单的方法:
public static String reverse1(String str)
{
return new StringBuffer(str)reverse()toString();
}
2最常用的方法:
public static String reverse3(String s)
{
char[] array = stoCharArray();
String reverse = ; 注意这是空串,不是null
for (int i = arraylength - 1; i >= 0; i--)
reverse += array[i];
return reverse;
}
问题三:开源内存数据库有几种啊? 常见的有FastDB、SQLite、Berkeley DB、GigaBASE,H2等
问题四:几种常用的开源内存数据库性能比较 本人理解:orcal速度快但是维护不方便吗,费钱。mysql速度可以,维护方便,交orcal来说易上手。db2:大
问题五:开源的内存数据库有哪些支持SQL基准 选择数据库实例―右键属性―选择内存选择页―修改内存―确定
问题六:C/C++开发的开源的分布式内存数据库有哪些 1最简单的方法:
public static String reverse1(String str)
{
return new StringBuffer(str)reverse()toString();
}
2最常用的方法:
public static String reverse3(String s)
{
char[] array = stoCharArray();
String reverse = ; 注意这是空串,不是null
for (int i = arraylength - 1; i >= 0; i--)
reverse += array[i];
return reverse;
}
问题七:哪位达人用过关系型的内存数据库而且是开源的 关系型数据库以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成了数据库。表与表之间的数据记录有关系。用户用查询(Query)来检索数据库中的数据。一个Query是一个用于指定数据库中行和列的SELECT语句。关系型数据库通常包含下列组件: 客户端应用程序(Client) 数据库服务器(Server) Structured Query Language(SQL)Client端和Server端的桥梁,Client用SQL来向Server端发送请求,Server返回Client端要求的结果。现在流行的大型关系型数据库有IBM DB2、Oracle、SQL Server、SyBase、Informix、access、foxpro等。
问题八:C/C++开发的开源的分布式内存数据库有哪些 1最简单的方法:public static String reverse1(String str){ return new StringBuffer(str)reverse()toString();}2最常用的方法:public static String reverse3(String s) { char[] array = stoCharArray(); String reverse = ; 注意这是空串,不是null for (int i = arraylength - 1; i >= 0; i--) reverse += array[i]; return reverse; } 3常用方法的变形: public static String reverse2(String s){ int length = slength(); String reverse = ; 注意这是空串,不是null for (int i = 0; i 问题九:要求实时数据需要存储到内存库 有开源内存数据库吗 朋友您好,很高兴为您解答问题
请把问题补充完整
大家才能给你提供完善的建议
相信您在知道这个平台
一定会有满意的收获
真诚希望能够帮助您,如果,祝您好运常伴。
问题十:什么情况下用内存数据库 相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘 问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行 *** 作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上。内存数据库的最大特点是其主拷贝或工作版本 常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。显然,它要求较大的内存量,但并非任何时刻整个数据库都存放在内存,即内存数据库系统还是要处理I/O。
内存数据库是以牺牲内存资源为代价换取数据处理实时性的,内存数据库和磁盘数据库都是当今信息社会里每个企业所必须的关系型数据库产品,磁盘数据库解决的是大容量存储和数据分析问题,而内存数据库解决的是实时处理和高并发问题。两者的存在是相辅相成的,内存数据库的事务实时处理性能要远强于磁盘数据库。但是相对的,他的数据安全方面还没有达到磁盘数据库比肩的地步。
内存数据库将物理内存作为数据的第一存储介质,而将磁盘作为备份。随着电信业务的发展,系统对实时性的要求和对业务灵活修改的要求非常高,在此种情况下对于内存数据库的需求也越来越高。磁盘数据库的做法是将数据存入内存中进行处理,这种方式的可管理性及数据安全可靠性都没有保障。而内存数据库正是针对这一弱点进行了改进。
实际上,内存数据库并不是一项时髦技术,其出现于上世纪60年代末,但由于市场的需求原因在90年代后期才开始发展。作为新一代数据库,Altibase产品已经走向混合型数据库,其版本Altibase 40已经有一套自带的磁盘数据库,用户一旦购买了Altibase的内存数据库,就无须再购买磁盘数据库。它把热数据(经常被使用的、访问比较高的、经常要运算的数据)放在内存数据库里,而把历史性数据放在磁盘数据库里,可为用户进一步减少投资。
对于内存数据库而言,可以将同样数据库的部分内容存放于磁盘上,而另一部分存放于内存中。用户可以选择将数据存储在内存表中以提供即时的数据访问。若访问时间不紧急或数据存于内存中所占空间过大时,用户可将这些数据存入磁盘表中。
比如,在手机用户开始拔打电话时,如果应用基于内存数据库技术的混合数据管理引擎,就通过内存表检索其服务选项并立即验证用户身份,而将通话清单和计费清单归档到磁盘表中。从而,达到了速度与资源使用的平衡。
内存数据库的技术,一个很重要的特点,是可以对内存中的数据实现全事务处理,这是仅仅把数据以数组等形式放在内存中完全不同的。并且,内存数据库是与应用无关的,显然这种体系结构具有其合理性。内存引擎可以实现查询与存档功能使用的是完全相同的数据库,同时内存表与磁盘表也使用的是完全相同的存取方法。存储的选择,对于应用开发者而言是完全透明的。
对于内存数据库而言,实现了数据在内存中的管理,而不仅仅是作为数据库的缓存。不像其它将磁盘数据块缓存到主存中的数据库,内存数据库的内存引擎使用了为随机访问内存而特别设计的数据结构和算法,这种设计使其避免了因使用排序命令而经常破坏缓存数据库性能的问题。通过内存数据库,减少了磁盘I/O,能够达到了以磁盘I/O 为主的传统数据库无法与其相比拟的处理速度。
因此,内存数据库技术的应用,可以大大提高数据库的速度,这对于需要高速反应的数据库应用,如电信、金融等提供了有力支撑。
由于把大多数数据都放在内存中进行 *** 作,使得内存数据库有着比磁盘数据库高得多的性能表现,这一>>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)