亿万亿级别的数据库怎么选择

通常数据库分为关系型数据库和非关系型数据库,关系型数据库的优势到现在也是无可替代的,比如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查询,以及一个使用HTTP的API。

(3)Couchbase:NoSQL文档数据库基于JSON模型。

(4)RavenDB:RavenDB是一个基于.NET语言的面向文档数据库。

(5)MarkLogic:MarkLogic NoSQL数据库用来存储基于XML和以文档为中心的信息,支持灵活的模式。

4、图数据库:Neo4J、InfoGrid、OrientDB、GraphDB,下面简单介绍几个

(1)Neo4j:Neo4j是一个图数据库;支持ACID事务(原子性、独立性、持久性和一致性)。

(2)InfiniteGraph:一个图数据库用来维持和遍历对象间的关系,支持分布式数据存储。

(3)AllegroGraph:AllegroGraph是结合使用了内存和磁盘,提供了高可扩展性,支持SPARQ、RDFS++和Prolog推理。

5、内存数据网格:Hazelcast、Oracle Coherence、Terracotta BigMemorry、GemFire、Infinispan、GridGain、GigaSpaces,下面简单介绍几个

(1)Hazelcast:Hazelcast CE是一个开源数据分布平台,它允许开发者在数据库集群之上共享和分割数据。

(2)Oracle Coherence:Oracle的内存数据网格解决方案提供了常用数据的快速访问能力,一致性支持事务处理能力和数据的动态划分。

(3)Terracotta BigMemory:来自Terracotta的分布式内存管理解决方案。这项产品包括一个Ehcache界面、Terracotta管理控制台和BigMemory-Hadoop连接器。

(4)GemFire:Vmware vFabric GemFire是一个分布式数据管理平台,也是一个分布式的数据网格平台,支持内存数据管理、复制、划分、数据识别路由和连续查询。

(5)Infinispan:Infinispan是一个基于Java的开源键值NoSQL数据存储,和分布式数据节点平台,支持事务,peer-to-peer 及client/server 架构。

(6)GridGain:分布式、面向对象、基于内存、SQL+NoSQL键值数据库。支持ACID事务。

(7)GigaSpaces:GigaSpaces内存数据网格能够充当应用的记录系统,并支持各种各样的高速缓存场景。

二、NoSQL数据库在大数据时代的优势

NoSQL数据库一直以性能、可扩展性、灵活的模式和分析能力聚焦着人们的注意力。尽管关系型数据库对于某些用例来说仍是一个不错的选择,就像结构数据和要求ACID事务的应用。

1、存储的数据实质上是半结构化或者松散的;

2、要求一定的等级的性能和扩展性;

延伸阅读

CI设计规划过程

CI设计规划与实施导入是一种循序渐进的计划性作业,整个计划的进行与推展,综合国内外企业导入CI的经验。其作业流程大约可分为下列四个阶段:

1.企业实态调查阶段

把握公司的现况、外界认知和设计现况,并从中确认企业实际给人的形象认知状况。

2.形象概念确立阶段

以调查结果为基础,分析企业内部、外界认知、市场环境于各种设计系统的问题,来拟定公司的定位与应有形象的基本概念,作为CI设计规划的原则依据。

3.设计作业展开阶段

根据企业的基本形象概念,转变成具体可见的信息符号。并经过精致作业于测试调查,确定完整并符合企业的识别系统。

4.完成于导入阶段

重点在于排定导入实施项目的优先顺序、策划企业的广告活动以及筹组CI

文章标题:亿万亿级别的数据库怎么选择,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/54242

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年6月11日
下一篇 2023年6月12日

相关推荐

  • java和java script的区别是什么

    java和java script的区别是:1、编程范式不同;2、代码执行环境不同;3、对象不同;4、强类型和弱类型;5、并发执行多个任务;6、开发方法不同。Java是面向对象的编程语言,严格遵循面向对象编程范式;JavaScript同时支持面向对象、面向过程和面向函数的编程范式。 1、编程范式不同 …

    2023年2月12日
    74300
  • 金融建模需要什么编程语言

    金融建模主要需要掌握的编程语言有Python、R、SQL、C++。其中,Python的灵活性和易用性使其成为金融建模中最受欢迎的语言之一。Python具备强大的数据分析和处理能力,广泛的库支持(如NumPy、Pandas、Matplotlib等),能够有效支持金融数据的分析、处理和可视化。此外,Py…

    2024年4月27日
    900
  • 编程只有英文吗为什么

    编程不仅局限于英文,但是英语是最广泛使用的编程语言。其中最关键的原因之一是,大多数编程语言都是由英语为母语的人设计的,因此这些语言的语法和关键字都是基于英语的。此外,全球计算机科学的许多基础研究和文献都是用英语编写。这些因素共同作用,导致了英语在编程世界的主导地位。 一、语言起源和标准化 大多数现代…

    2024年4月27日
    1200
  • 游戏编程语言用什么软件

    游戏编程通常使用的软件包括Unity、Unreal Engine、GameMaker Studio等。其中,Unity是一款广泛使用的游戏开发平台,它支持多种编程语言,包括C#、JavaScript和Boo。Unity的特点之一是其跨平台能力,它可以让开发者为不同操作系统和设备创建游戏,如Windo…

    2024年4月27日
    1000
  • 编程可以考什么证书

    摘要:编程证书可以从多个角度提升一个程序员的职业竞争力。1、提供专业技能验证;2、增加就业机会;3、提升求职者信誉;4、促进职场发展。其中,提供专业技能验证是编程证书的重要作用,它通过权威的第三方组织来证明个人的专业能力和技术水平,给雇主一个量化的职能评估参考。比如,Oracle Certified…

    2024年4月25日
    2200
  • 什么编程语言最容易做程序

    Python、JavaScript、和Ruby是入门最容易的编程语言之一。这三种语言各自拥有独特的优势和用途,但如果要深入了解其中一个,Python通常是最被推荐的起点。它因其简洁的语法、广泛的应用领域(如网站开发、数据分析、人工智能)以及庞大的社区支持而脱颖而出。Python的设计哲学强调代码的可…

    2024年4月27日
    700
  • 可编程 界面软件是什么

    可编程界面软件主要是指那些允许用户藉由编程来定制或控制其功能的软件。这类软件通常提供了一种或多种编程接口,比如API(应用程序编程接口)或脚本语言,使得用户可以根据自己的需求编写代码,以实现特定的操作或自动化任务。其中一个显著的优点是提高工作效率,它使得重复的或复杂的任务可以通过运行预先编写好的脚本…

    2024年4月27日
    900
  • 模具编程与设计学什么软件

    在模具编程与设计方面,需要学习的软件主要包括1、UG/NX、2、SolidWorks、3、Pro/ENGINEER (Creo)、4、AutoCAD。尤其是UG/NX,由于其在模具设计与制造行业中的广泛应用和先进技术,成为核心学习软件之一。该软件不仅提供了全面的设计工具,还拥有强大的仿真和制造功能,…

    2024年4月27日
    1100
  • 用什么软件画需求文档

    可以用以下软件画需求文档:一、Axure RP;二、MindManager;三、Microsoft Word;四、Google Docs;五、Confluence。Axure RP是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图…

    2023年3月19日
    50600
  • 土建项目如何管理质量问题

    土建项目要管理质量问题,关键步骤包括制定详细的工程质量标准、实施严格的材料控制与验收流程、采用先进的施工技术与方法、定期施工检查与质量评估、构建全员质量责任制以及进行质量问题的追踪与整改。这些措施协同工作、相互支持。以制定详细的工程质量标准为例,它是确保工程质量得以满足技术要求和客户期望的基石。详尽…

    2024年4月10日
    8200

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部