mysql - 从 MySQL 迁移到 Couchbase Server (NoSQL)

标签 mysql json couchbase nosql

我计划将一些 RDBMS 表迁移到 NoSQL 环境。我有不同的模块和关联的表格,如下所示。

1. General 
    News table
    Trainings table 
    Knowledge table
 2. Application_x
    Clicks table
    Crashes table

注意:这是一个示例场景

在本例中,这就是我定义 Nosql(Couchbase 服务器)结构的方式。如果这是错误的,请纠正我。

迁移的目的主要是为了搜索。

{
    "General":[
        "news" : [{
            "id" : "123",
            "title" : "test title"
        },
        {
            "id" : "345",
            "title" : "test title 2"
        }],
        "trainings" :[{
            "id" : "1",
            "name" : "training 1"
        },
        {
            "id" : "2",
            "name" : "training 2"
        }],
        "knowledge" :[{
            "id" : "1",
            "categ" : "programming"
        },
        {
            "id" : "2",
            "categ" : "management"
        }]
    ],
    "Application_x": [
        "clicks" : [{
            "userid" : "1",
            "area" : "1850",
        },
        {
            "userid" : "2",
            "area" : "258",
        }],
        "crashes" :[{
            "userid" : "1",
            "severity" : "1",
        },
        {
            "userid" : "2",
            "severity" : "8",
        }]
    ]
}

如果我的方法不正确,有人可以纠正我吗?

提前致谢, 蒂斯蒙·瓦尔盖斯。

最佳答案

通过阅读您的问题,我对您的方法是什么感到摸不着头脑。在 NoSQL 数据库(例如 couchbase)中,您没有表和列的概念。每个对象都被序列化为 JSON 并以纯文本形式存储。是的,这会造成重复,但可扩展性的好处远远超过了重复的缺点。

在此示例中,使用 Couchbase,您可能希望为每个应用程序创建一个 Couchbase 存储桶。这样,如果您以后需要迁移到不同的 Couchbase 集群,则只需要最少的配置。表中的每一行都会在 Couchbase 中创建为单独的对象。无需区分桶内的对象类型。

This blog entry包含一些有关如何从 mySQL 迁移到 Couchbase 的详细说明。

顺便说一句,我可能建议将 Couchbase 与 Elasticsearch 结合使用。 。

关于mysql - 从 MySQL 迁移到 Couchbase Server (NoSQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31019576/

相关文章:

java - 你如何覆盖 Jackson 2.0 中的空序列化程序?

Python:无法将 'bytes' 对象隐式转换为 str

arrays - 根据平面结构输出中的条件从数组返回特定​​项目

python - couchbase 已安装,但仍然出现导入错误(Pyinstaller)

nosql - 两阶段提交 Couchbase

php - MySQL 连接数组

php - SQL注入(inject)-通过URL访问

MySql 在重复键上添加条件状态,如果不是重复键

java - 如何在条件中使用带有总和的分组依据

python - 如何更改 Flask-peewee 中的 UserDoesNotExist SELECT 行为 - python 和 mysql