哪个是适合存储大型JSON的数据库? [英] Which is the suitable database for storing a large JSON?

查看:1744
本文介绍了哪个是适合存储大型JSON的数据库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只有一个 个大型JSON文件.例如,

I have only one large JSON file. For example,

{   
    "Name": "Motor_M23",
    "AASID": {
        "IDType": "URI",
        "IDSpec": "http://acplt.org/AAS/Motor_M23"
    },
    "AssetID": {
        "IDType": "URI",
        "IDSpec": "http://acplt.org/Assets/Motor_M23"
    },
    "Header": {
        "PropertyValueStatementContainers": [
            {
                "Name": "Config",
                        .
                        .
                        .
                        .

我需要支持以下操作:

  1. 查询元素应返回所有子元素,例如查询AssetID应该返回

"AssetID": {
    "IDType": "URI",
    "IDSpec": "http://acplt.org/Assets/Motor_M23"
}

  • 更新元素的值.

  • Update value of elements.

    我考虑了以下方法:

    1. 图形数据库:我开始阅读有关Neo4J的文章.但是,它无法从JSON 智能地创建图.必须指定节点类型及其层次顺序.
    2. ElasticSearch :它可以通过将JSON视为文本来工作,因此不是有效的解决方案.
    3. Postgres :它支持查询JSON对象,但更新,删除效率不高.
    1. Graph database : I started reading about Neo4J. However, it can not create graph from JSON intellgently. One has to specify node type and their hierarchy order.
    2. ElasticSearch : It can work by treating JSON as text and hence not efficient solution.
    3. Postgres : It supports querying over JSON objects but updating, deletions won't be efficient.

    有没有可以从大型JSON加载数据并处理我的操作的好的数据库?

    Is there any good database out there which can load data from large JSON and handle my operations?

    推荐答案

    选择正确的数据库是一个典型的体系结构问题,您必须考虑很多重要方面,例如HA,弹性,复制,分片,工具支持,成熟度,许可,备份和恢复等.

    This is a typical architectural question to choose the right database, wherein you have to consider quite a few important aspects such as HA, resiliency, replication, sharding, tools support, maturity, licensing, backup & restore etc.

    MongoDB和Couchbase DB是两个最流行且使用最广泛的文档数据库.没有一个简单的选择答案,因为您必须进行权衡分析.我可以分享我的两分钱,希望这将有助于您做出正确的决定.

    MongoDB and Couchbase DB are the two most popular and widely used document databases. There is no straight-forward answer to choose one, as you have to do trade-off analysis. I can share my two cents, hopefully this would help you in arriving at the right decision.

    可以考虑使用MongoDB数据库或Couchbase NoSQL文档数据库,因为json是这两种数据库中的头等公民,您将获得使用字段执行操作的不错选择.

    Either MongoDB or Couchbase NoSQL document databases can be considered, as json is the first class citizen in both and you get really good options to perform operations using fields.

    1. MongoDB(CAP之外的CP支持)更喜欢一致性而不是可用性,而"Couchbase"(CAP外的AP)则是高可用性数据库.
    2. MongoDB集群适用于主/从体系结构,而ouchbase集群适用于对等分发体系结构.

    还有更多需要考虑的方面,下面的链接将带您正确的方向.

    There are many more dimensions to be considered and following links would take you in right direction.

    https://suyati.com/blog/mongodb-vs-couchbase/

    https://www.couchbase.com/comparing-couchbase-vs-mongodb

    因为在您的特定情况下,您强调了只有一个大文件IMDG(内存数据网格,例如

    Since, in your particular case you have highlighted that you have only one large file, IMDG (in-memory data grid such as Apache Ignite) based solutions can also be considered with a single node set up.

    这篇关于哪个是适合存储大型JSON的数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆