想用mongodb查询,mysql查询慢,有没有办法 把mysql的数据同步到mongodb上面
由于mongodb目前只提供bson格式(也支持json)啦,而本人的老大又有些对nosql
惶恐(算是基于对纯内存的稳固性的不信任吧)。故而迫切需求将基于mongodb的数据做一个mysql的备份。google了一圈也没找着类似需求(是不是这个需求太过于BT了?)。
既然mongodb无法对sql直接支持,目前的做法只能是遍历取出数据了(幸而这也不慢)。主要卡在数据如何塞入mysql,不是dba,一时半会还真只想到边取边插入的办法,于是乎,mysql不干了。
于是乎,发现了(终于)强大的mysqlimport.
最终组织的数据文本是这个样子:
"","1","1","0","0","","1","0","url","264442626","0","0","0","0","1","20101218","6","0","0"
"","1","1","0","0","","1","0","url","264442626","0","0","0","0","1","20101218","6","0","1"
`
mysqlimport -h xxx.xxx.xxx -u root -pxxxxxx -L --fields-terminated-by=, --fields-enclosed-by=" test ./201012_link.txt
`
解释:
数据文本就是以行为单位,以逗号为分隔符,以双引号包夹为完整字段内容,按照mysql表的字段顺序排列。
mysqlimport是mysql自带的工具,具体参数内容可以help。
这里关键要注意到是数据文本的第一列,这里是置的空字符串。如果空字符串对应的列有自增长或者默认值之类的,数据库内容会自动替换成对应的自增长数字等。
到这里,我的备忘算是结束了。不过真正的大杀器连尖尖角都还没有露出来。
--据说,mongodb slave同步是用的xml。
--据说,这个xml是可以获取到的。
--据说,sphinx这个强大的分词工具是支持xml的。
--据说,bson是可以压缩存放的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。