您现在的位置:首页 > 相关资讯
怎样选择数据库?

如何选择数据库?

所有类型的数据库都可以完成所有任务。问题是它会多么昂贵和如何优化。选择您惯用的工具可以缩短产品上市时间,但同时也会花费大量金钱维护和扩展您的硬件,而这可能会导致效率低下。始终尝试按照其使用方式使用数据库。也许,就能找到适合所需求的解决方案。以下几种数据库的优点缺点?


文档的数据库

如果我们不想连接多个表来检索所需的数据,我们可以看一下面向文档的数据库。这些数据库允许以类似JSON的格式存储记录。使用这种格式,我们可以为任何键创建复杂的值,并将所有数据结构一次包含在一条记录中。

好处:无需总是在每条记录中写入所有字段,无架构,良好的复杂类型支持适合OLTP

缺点:交易支持不佳,不良的分析支持,困难/昂贵的缩放示例:MongoDB

SQL关系数据库

这种类型是最流行和广泛使用的。这些数据库允许将数据存储在具有特定类型的已定义列的关系表中。关系表是良好的规范化和联接。如果您曾经使用过数据库,则很可能已经开始使用这种类型的数据库。

好处:SQL支持,索引和分区支持,ACID事务(原子性,一致性,隔离性和持久性)。

缺点:对非结构化数据/复杂类型的支持不佳,错误的事件处理优化困难/昂贵的缩放示例:Oracle DB,MySQL,PostgreSQL。


宽列数据库

这些数据库将数据存储为HDD或SSD上的键/值记录。这些解决方案旨在充分扩展,以管理分布式系统中数千个商用服务器中的PB数据。它们代表SSTable体系结构。该体系结构设计用于两个用例:按键快速访问和快速,高可用性的编写。

好处:逐行快速书写,快速读取按键,良好的可扩展性,高可用性

缺点:键/值格式,没有分析支持示例:Cassandra,HBase

内存数据库

这种类型的数据库可以提供实时响应,以选择和插入特定记录。它们中的大多数主要将数据存储到RAM中,但在某些情况下还可以在HDD或SSD上提供持久性存储。这些数据库中的大多数都使用键/值记录进行操作,因此值可以调用面向文档的格式。但是某些数据库还使用列进行操作,并允许在同一表中进行二级索引。使用RAM可以快速处理数据,但使其更加不稳定和昂贵。

好处:快速阅读,快速写作。

缺点:可靠性差,昂贵的缩放示例:Redis,Tarantool,Apache Ignite

柱状数据库

有时我们需要快速访问数据,而不是使用特定的键,而是使用特定的列。在这种情况下,我们最好避免逐行插入,而转为批量写入。批处理插入允许列式数据库准备数据以供列快速读取。

好处:按列快速阅读,良好的分析支持,良好的可扩展性

缺点:仅适用于批量插入示例:Vertica,Clickhouse


图形数据库

对于某些用例,存在图数据结构。我们可以在图形数据库中找到它们的实现。如果您的任务需要使用图形,则可以使用专门设计的数据库来满足您的需求。

好处:实体之间的可管理关系,图形数据结构,灵活的结构

缺点:特殊查询语言,难以扩展示例: Neo4j


搜索引擎

如果我们想通过任何值甚至是列中的任何单词使用过滤器访问数据,我们都应该记住搜索引擎。这些数据库对列中的每个单词进行索引,并允许全文搜索。它们非常适合存储和分析日志或较大的文本值。

好处:一字快速访问,良好的可扩展性。

缺点:仅适用于批量插入,不良的分析支持示例:ElasticSearch,Apache Solr

想了解更多数据库的信息

 立刻咨询 

点击下方二维码咨询!



[1]

 
网络安全热度最高的6本证书...
系统分析师VS系统架构设计...
项目经理考NPDP还是软考高...
盘点五个IT领域下证快的证...
CBA与TOGAF:探寻企业架构...
【收藏】软考电子证书下载...
项目经理任选两本证书,年...
DAMA中国推出“一考两证”...
数据分析具体指的是什么,...
数据分析师需要具备什么数...
CDA认证带你了解数据分析的...
敏捷与DevOps协同工作的注...
DevOps自动化测试的注意事...
DevOps五个好用的工具列表...
IT项目管理实现落地有哪些...
IT项目需求分析重点是建立...


中培IT学院 Copyright@2006-2024  北京中培伟业管理咨询有限公司.ALL Rights Reseved 备案号:京ICP备13024721号-2