koz*_*ami 5 mongodb elasticsearch
非常新手问题我假设..我开始玩ES和MongoDB,我正在尝试将数据移出SQL DB作为练习.我不禁想知道,我将在Mongo中存储哪些数据以及在ES中存储什么数据?我可以把所有东西存放在ES吗?假设大数据负载,如价格趋势.
首先,MongoDB 是所谓的文档存储。这种概念的关键特征是存储模式动态文档:
它不是无模式的,而是模式动态的(或灵活的模式)。要深入了解这个概念,您可以在这里找到一个很棒的教程:https : //docs.mongodb.org/manual/data-modeling/
MongoDB 是使用最广泛的文档存储 - 请参阅http://db-engines.com/en/system/MongoDB。
它具有适用于大多数编程语言的“驱动程序”,可实现快速开发。您可以很快地深入了解 Mongo,有很多教程和官方的 Mongo 大学 - 对开发人员和 DBA 来说是一门很棒的课程。
简而言之,它支持索引、聚合、过滤器、负载平衡、分片、复制(副本集)等。数据以 BSON 格式(http://bsonspec.org/)存储和传输。
MongoDB 与 RDBMS 概念的一个很好的比较可以在这个官方参考中找到:https : //docs.mongodb.org/manual/reference/sql-comparison/
到底有什么好处呢?它支持敏捷开发,其中架构可以在一段时间内更改,尤其是基于表单的数据、用户生成的内容、基于位置的数据、用户配置文件等。它还可以存储大型文档(每个文档最多 16MB)。
现在,Elasticsearch 不是数据库。它是一个具有一些强大聚合功能的搜索引擎(https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html - 请务必查看指标、存储桶和管道聚合)。
典型的 RDBSM 不是为全文搜索或结构松散的数据设计的。ES 中的查询可以比任何数据库更快地返回结果(例如,RDBMS 中的秒数与 ES 中的毫秒数相比)。您需要记住,一个关键是设计好索引,它们会占用您的磁盘空间。
有一篇非常详细的文章比较了两者的性能,您可能会发现它很有用:http : //blog.quarkslab.com/mongodb-vs-elasticsearch-the-quest-of-the-holy-performances.html。
您实际上可以成功地使用两者 - MongoDB 将存储您的数据,其中 ES 将用作服务层(搜索、聚合等)。
| 归档时间: |
|
| 查看次数: |
493 次 |
| 最近记录: |