我计划将一些 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/