大数据存储
主流数据库:
1、MYSQL(以前是SUN公司的产品,后被甲骨文公司收购,开源)
2、ORACEL(成本较高,100W左右)
3、DB2 (成本较高,100W左右)
4、NOSQL (非关系性数据库,基本都是KEY-VALUE结构)
很多门户网站都使用MYSQL,例如:雅虎,淘宝……
数据库的主从备份,是处于负载均衡范畴。数据库可以看做为一个容器。主要采用Binary Log日志的使用。主服务器的所有的操作复制给从服务器,让从服务器也执行,从而做到主从备份。一般可以读写分离,写采用主服务器,读采用从服务器。
关于大数据量的分库分表,主要分为两种:垂直分表,水平分表。将大表拆分小表,表多,但字段不要太多,垂直分表效果不是很明显,。主要还是水平分表,将1亿行记录,拆分为多个100W记录表。当过多的分表,很容易造成查询问题,那么最好就是分区。
当然为了防止单点故障,最好考虑到数据库的冗余问题。
NOSQL-Mongodb:
这是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,他支持的数据结构非常松散,是类似JSON的BJSON格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,语法很类似面向对象的查询语言,几乎可以实现类型关系数据库单表查询的绝大部分功能,并且还支持对数据建立索引。