Sql向nosql的迁移;
Nosql:google bigtable为代表;另:Hbase;Cassandra;MongoDB;
选用MongoDB(文档型数据库);
其次的HBase(google bigtable为基础的开源产品);
Cassandra(facebook开发,弃用);
MongoDB核心贡献者:不是MongoDB不行,而是你不懂!
http://www.csdn.net/article/2012-11-15/2811920-mongodb-quan-gong-lue
http://www.cnblogs.com/huangxincheng/category/355399.html
···
MongoDB整合Spring 详细讲解(含代码)
http://blog.csdn.net/cuiran/article/details/8287204
使用:
什么情况下最佳的使用nosql;
mongodb mysql
模糊查询: mongodb为优;
--------------------------------------------------------
官网下载;
安装;
解压缩,简化下文件夹名(mongodb);
Mongodb中创建一个文件夹(db),用来存放mongodb的数据;
Cmd操作;
数据库的增删改查;高级操作;
···
1),指定数据库保存地址;
微软徽标+R,输入cmd,首先找到“mongodb”的路径,然后运行mongod开启命令,同时用--dbpath指定数据存放地点为“db”文件夹:
cmd---d:,更换盘符---cd javaSoft\mongodb\bin--mongod --dbpath D:\javaSoft\mongodb\db
浏览器:
提示,添加1000端口数字;
2),连接到默认test数据库;
d: --- cd javaSoft\mongodb\bin --- mongo
错误:不能连接到“couldn't connect to server 127.0.0.1:27017”;
~将上面的cmd(指定数据库保存地址)保持开启;重新开启一个cmd运行;
------------------------------------------------------------
Crud:
http://docs.mongodb.org/manual/crud/
文档左侧的CRUD;
Insert:
db.bios.insert(
{......
Find:
db.bios.find() //全部查询;
db.bios.find( { name: { first: 'John', last: 'McCarthy' } } ) //条件查询;
Save:不需要写id;
db.bios.save(
{
Update:没有文件匹配于修改参数,则新加记录;
db.bios.update(
{ name: { first: 'Dennis', last: 'Ritchie'} },
{...
},
{ upsert: true }
Delete:in;
db.bios.remove()
Find:in;
db.bios.find(
{
_id: { $in: [ 1, 3 ] }
}
)
记录数:
db.bios.count()
-----------------------------------------------------
查询:
索引使用;
添加10w记录:
for(var i =0;i<100000;i++){var rand=parseInt(i*Math.random());db.person.insert({“name”:“hxc”+i,“age”:i})}
~上面的紫色需要手写,否则容易出错;
查询:
db.person.find({“name”:”hxc”+10000}).explain() //紫色需要手写,否则出错;
建立索引:
db.person.ensureIndex(“name”:1) //1升序;-1降序;
查看索引:
db.person.gexIndexes()
模糊查询:---
db.person.find({name:/hxc+10000/}).explain() //全模糊;
db.person.find({name:/^hxc+10000/}).explain() //右模糊;
···
cursor: 光标,索引方式,BtreeCursor,name_1--索引名;
nscanned: 搜索记录行数。
n:返回数据行数。
millis:用时。
···
db.person.find({“age”:20000}).explain()
其它语句:
db.person.find()
db.person.remove()
db.person.count()
-----------------------------------------------------------
集群:主从数据库:
-----------------------------------------------------------
集群:数据库分片:
-----------------------------------------------------------
运维:安装部署;状态监控;安全认证;备份和恢复;
-----------------------------------------------------------
:
///
Ssh中使用: