[数据库常见项目数据库选型参考思路与方法
本篇文章,将持久更新。1:首先,确定是选择关系型数据还是非关系型数据库?2:数据的读写性能速度要求是否严格?3:数据规模,量级是多少?比如百万内、千万级、亿级等等4:数据是否需要长期存储?5:数据表的结构是否固定,有时候还需要聚合查询?6:是否需要实现快速搜索服务?如果你对数据的读写要求极高,并且你的数据规模不大,也不需要长期存储,选redis;如果你的数据规模较大,对数据的读性能要求很高,数据表的结构需要经常变,有时还需要做一些聚合查询,选MongoDB;如果你需要构造一个搜索引擎或者你想搞一个看着高大上的数据可视化平台,并且你的数据有一定的分析价值或者你的老板是土豪,选ElasticSearch;如果你需要存储海量数据,连你自己都不知道你的数据规模将来会增长多么大,那么选HBase。
[数据库Hbase数据库介绍、优势与劣势、应用场景与选型依据
没有最好的数据库,只有最适合你的应用场景的数据库! 本篇文章来看看Hbase(重量级数据库)一:Hbase简介HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。HBase是当年谷歌大数据三驾马车之一的BigTable方案的实现,很多大数据项目,都可见HBase的身影。因此绝对算得上是大数据时代最有代表性的技术之一了。总结:高可靠性、高性能、面向列、可伸缩的分布式存储系统。二:Hbase的优势HBase最大的优势就是对海量数据的支持,以及极强的横向(存储容量)扩展能力。和Redis类似,HBase也需要为每一行数据定义一个key,之后所有的查询都
[数据库非关系型数据库(NoSQL)的特点与主流数据库列表
一:非关系型数据库(NoSQL)的特点关系型数据库是使用最广泛的数据库。代表产品为MySQL。传统的关系数据库,使用的时候常见有如下痛点:1. 难以应付高并发数据写入2. 海量数据的查询,效率低3. 数据量达到一定规模后,会遇到瓶颈,难以扩展4. 表结构修改困难, 难以适应经常变更的业务需求5. 许可费用,扩展费用高昂而nosql数据库,则是专门为了解决上诉的一些痛点,并针对性的侧重某个领域研发的。每个数据库,都有其应用领域与特色。二:主流非关系型数据库(NoSQL)列表1. 键值型数据库代表 : Redis, Flare特点 : 键值数据库将数据存储为键值对集合,其中键作为唯一标识符。键和值都可以是从简单对象到复杂复合对象的任何内容。键值数据库是高度可分区的,并且允许以其他类型的数据库无法实现的规模进行水平扩展。2. 文档型数据库代表 : MongoDB,CouchDB特点 : 在文档数据库中,文档是处理信息的基本单位。一文档可以很长、很复杂、可以无结构,与字处理文档类似。一个文档相当于关系数据库中的一条记录。3. 列存储数据库代表 : HBase,Cassandra特点 : 以列相
[数据库Mongdb数据库的介绍、优势与劣势、应用场景与选型依据
对于系统架构师来说,技术选型很重要。一个项目能走多远、人力成本研发费用的高低,都与技术选型有关系。本篇文章,来大体上的了解一下Mongdb数据库的相关知识。作为一个有经验的程序员,你可以没用过他,但是不能不认识他!一: Mongdb的基本介绍MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。旨在为WEB应用提供可扩展的高性能数据存储解决方案。在高负载的情况下,添加更多的节点(分布式),可以保证服务器性能。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB生态目前已经发展成熟,国内各大云服务商,也上线了MongoDB云数据库。基于MongoDB数据库的项目,已经在各行各业遍地开花。二: MongoDB特性与优势核心:灵活文档模型 + 高可用复制集 + 可扩展分片集群1):事务支持 MongoDB 目前只支持单文档事务,需要复杂事务支持的场景暂时不适合2):灵活的文档模型 JSON 格式存储最接近真实对象模型,对开发者友好,方便快速开发迭代3):高可用复制集 满足数据高可靠、服务高可用的需