We had application written in perl that create complex data structure for our subscriber (we have move than 4m subscribers). each subscriber have some conmen fields that are are present in all of them and some other subscriber has missing some.
The data looks like this:
%subscribers = {
"user_001" = {
"name" => "sam",
"age" => "13",
"color" =>['red','blue']
"item"=>{
"old" =>['PC','pen'],
"new" =>['tap','car']
},
"user_002" = {
"name" => "ali",
"age" => "54",
"color" =>['red','null','green']
"item"=>{
"old" =>['phone','TV']
},
"user_003" = {
"name" => "foo",
"age" => "02",
"item"=>{
"old" =>['']
},
....
}
}
our data are more nasty and complex
Now we try to store these data in DB then do some query in them like get user that have new 'TAPs' in item or there age is larger than 30 years.
what we need to know is: What is the best method to store the data (as MySQL or Oracle db not option), we need something for semi-structure data. How to do these queries taken in mind the preformence.
We jast need headline to start our search (and yes we did our homework using Google ^_^).
BR, Hosen
答案 0 :(得分:2)
听起来您的数据集仍然很小且易于管理,因此您需要非常小心地在此早期解雇传统数据库解决方案。你还没有真正提供任何理由来解释为什么SQL解决方案被解雇(近年来的新功能完全针对NoSQL用例),所以有人在我自己的网络中搜索过这个问题。过去(在一个大型的perl项目中)我会提出一些你应该问自己的问题: