大数据常用哪些数据库

大数据常用哪些数据库,第1张

通常数据库分为关系型数据库和非关系型数据库,关系型数据库的优势到现在也是无可替代的,比如MySQL、SQL Server、Oracle、DB2、SyBase、Informix、PostgreSQL以及比较小型的Access等等数据库,这些数据库支持复杂的SQL *** 作和事务机制,适合小量数据读写场景;但是到了大数据时代,人们更多的数据和物联网加入的数据已经超出了关系数据库的承载范围。
大数据时代初期,随着数据请求并发量大不断增大,一般都是采用的集群同步数据的方式处理,就是将数据库分成了很多的小库,每个数据库的数据内容是不变的,都是保存了源数据库的数据副本,通过同步或者异步方式保证数据的一致性,每个库设定特定的读写方式,比如主数据库负责写 *** 作,从数据库是负责读 *** 作,等等根据业务复杂程度以此类推,将业务在物理层面上进行了分离,但是这种方式依旧存在一定的负载压力的问题,企业数据在不断的扩增中,后面就采用分库分表的方式解决,对读写负载进行分离,但是这种实现依旧存在不足,且需要不断进行数据库服务器扩容。
NoSQL数据库大致分为5种类型
1、列族数据库:BigTable、HBase、Cassandra、Amazon SimpleDB、HadoopDB等,下面简单介绍几个
(1)Cassandra:Cassandra是一个列存储数据库,支持跨数据中心的数据复制。它的数据模型提供列索引,log-structured修改,支持反规范化,实体化视图和嵌入超高速缓存。
(2)HBase:Apache Hbase源于Google的Bigtable,是一个开源、分布式、面向列存储的模型。在Hadoop和HDFS之上提供了像Bigtable一样的功能。
(3)Amazon SimpleDB:Amazon SimpleDB是一个非关系型数据存储,它卸下数据库管理的工作。开发者使用Web服务请求存储和查询数据项
(4)Apache Accumulo:Apache Accumulo的有序的、分布式键值数据存储,基于Google的BigTable设计,建立在Apache Hadoop、Zookeeper和Thrift技术之上。
(5)Hypertable:Hypertable是一个开源、可扩展的数据库,模仿Bigtable,支持分片。
(6)Azure Tables:Windows Azure Table Storage Service为要求大量非结构化数据存储的应用提供NoSQL性能。表能够自动扩展到TB级别,能通过REST和Managed API访问。
2、键值数据库:Redis、SimpleDB、Scalaris、Memcached等,下面简单介绍几个
(1)Riak:Riak是一个开源,分布式键值数据库,支持数据复制和容错。(2)Redis:Redis是一个开源的键值存储。支持主从式复制、事务,Pub/Sub、Lua脚本,还支持给Key添加时限。
(3)Dynamo:Dynamo是一个键值分布式数据存储。它直接由亚马逊Dynamo数据库实现;在亚马逊S3产品中使用。
(4)Oracle NoSQL Database:来自Oracle的键值NoSQL数据库。它支持事务ACID(原子性、一致性、持久性和独立性)和JSON。
(5)Oracle NoSQL Database:具备数据备份和分布式键值存储系统。
(6)Voldemort:具备数据备份和分布式键值存储系统。
(7)Aerospike:Aerospike数据库是一个键值存储,支持混合内存架构,通过强一致性和可调一致性保证数据的完整性。
3、文档数据库:MongoDB、CouchDB、Perservere、Terrastore、RavenDB等,下面简单介绍几个
(1)MongoDB:开源、面向文档,也是当下最人气的NoSQL数据库。
(2)CounchDB:Apache CounchDB是一个使用JSON的文档数据库,使用Javascript做MapReduce查询,以及一个使用>Apache Geode允许水平和垂直缩放

准备:

gemfireproperties配置文件中可以列出定位器

如果要运行独立成员,该配置文件禁用locators:

将常规消息设置为使用TCP或UDP单播,在gemfireproperties文件中:

或者使用UDP单播

使用UDP多播且分发到任何region

在cachexml中,为每个需要多播的区域启用多播:

每个缓存实例或成员直接与分布式系统中的每个其他成员进行通信,一个典型的例子是一个应用程序服务器集群,其中应用程序和高速缓存位于同一位置并共享相同的堆。

成员使用一个或多个定位器发现彼此。定位器提供发现和负载均衡服务。P2P定位器管理分布式系统成员的动态列表。新成员连接到其中一个定位器以检索用于加入系统的成员列表。一个成员一次只能属于一个分布式系统。一旦彼此找到了对方,成员之间直接沟通,独立于发现机制。在P2P发现中,Geode使用成员协调员来管理成员加入和离开。

此结构是垂直扩展的模型,Client通常在应用程序进程空间中托管一小部分数据,然后委托给服务器系统。客户机/服务器体系结构本身与点对点相比,提供了更好的数据隔离性,高提取性能和更高的可伸缩性。如果数据分发会给网络带来很大负担,那么客户机/服务器体系结构通常会提供更好的性能。在任何客户机/服务器安装中,服务器系统本身就是一个P2P系统,数据在服务器之间分配。Client系统有一个连接池,它用来与服务器和其他Geode成员进行通信。Client也可能包含本地缓存。

定位器持续监视服务器可用性和服务器负载信息,随时为Client提供负载最轻的服务器的连接信息。

适用于水平缩放,跨地域,每个站点都是P2P或C/S系统。

在多站点(WAN)配置中,Geode集群使用定位器来发现远程Geode集群以及发现本地Geode成员。WAN配置中的每个定位器唯一地标识其所属的本地群集,并且还可以标识远程Geode群集中的定位器,以便将它连接到WAN分配。定位器启动时,它会联系每个远程定位器,以交换有关远程群集中可用定位器和网关接收器配置的信息。除了共享有关其自己的群集的信息之外,定位器还共享从其他所有连接的群集获得的信息。每当新的定位器启动或现有的定位器关闭时,更改的信息将通过广域网广播到其他连接的Geode群集。locator相当于粘合剂的角色,将集群中所有的成员连接在一起。

程序媛小白一枚,如有错误,烦请批评指正!(##)

分布式缓存系统是为了解决数据库服务器和web服务器之间的瓶颈。
如果一个网站的流量很大,这个瓶颈将会非常明显,每次数据库查询耗费的时间将会非常可观。
对于更新速度不是很快的网站,可以用静态化来避免过多的数据库查询。
对于更新速度以秒计的网站,静态化也不会太理想,可以用缓存系统来构建。
如果只是单台服务器用作缓存,问题不会太复杂,如果有多台服务器用作缓存,就要考虑缓存服务器的负载均衡。

vFabric tc Server——SpringSource的基于Apache Tomcat的产品,增加了对监控与应用供给的支持

vFabric GemFire——一个基于Java的内存数据网格产品,类似于Oracle的Coherence

vFabric SQLFire——一个用于核心GemFire技术的标准SQL接口

vFabric RabbitMQ——一个开源的消息平台,基于Advanced Message Queuing Protocol(AMQP)

vFabric Web Server——企业版的Apache Web服务器

vFabric Hyperic——又一个监控组件,专注于 *** 作系统、虚拟机、数据库与应用服务器;面向Web基础设施!

分布式计算是一种计算方法,和集中式计算是相对的。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。

分布式计算可以分为以下几类:

传统的C/S模型。如>

集群技术。一种称集群的技术出现了,它把多台服务器连接起来,当成一台服务器来用。这种技术的好处就是,不但对客户来说是透明的,对服务器软件来说也是透明的,软件不用做任何修改就可以在集群上运行。

通用型分布式计算环境。如CORBA/DCOM/ RMI/ DBUS等,这些技术(规范)差不多都有具有网络透明性,被调用的方法可能在另外一个进程中,也可能在另外一台机器上。调用者基本上不用关心是本地调用还是远程调用。

Apache Geode 是一个数据管理平台,提供实时的、一致的、贯穿整个云架构地访问数据关键型应用,具有高并发处理能力

Geode 池化了服务器上的内存、CPU、 网络资源和系统的本地磁盘,并且跨了多个进程来管理应用的对象和行为。 它使用了动态数据复制和分区技术来实现高性能、 高可扩展性、高可用和高容错行。 另外, 对于一个分布式数据容器,Apache Geode 是一个基于内存的数据管理系统。提供了可靠的异步事件通知和可靠的消息投递。

1100新特性

更多更新内容:>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13435172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-05
下一篇 2023-08-05

发表评论

登录后才能评论

评论列表(0条)

保存