大数据高并发数据库设计注意要点

标签: 大数据 并发 数据库 | 发表时间:2014-02-18 11:32 | 作者:顺其自然EVO
出处:http://www.blogjava.net/qileilove/
 在一个项目实施初始, 数据库的设计非常重要,很多时候,我们只关心和考虑到眼前的功能,而忽略了后续的可维护性和可拓展性,以及还有一个在大数据时代会遇到的高并发问题。
   在设计表结构时要注意以下几个要点:
  1.数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率。
  2.能够用数字类型的字段尽量选择数字类型而不用字符串类型的(电话号码),这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。
  3.对于不可变字符类型char和可变字符类型varchar 都是8000字节,char查询快,但是耗存储空间,varchar查询相对慢一些但是节省存储空间。在设计字段的时候可以灵活选择,例如用户名、密码等长度变化不大的字段可以选择CHAR,对于评论等长度变化大的字段可以选择VARCHAR。
  4.字段的长度在最大限度的满足可能的需要的前提下,应该尽可能的设得短一些,这样可以提高查询的效率,而且在建立索引的时候也可以减少资源的消耗。
   查询语句优化要点:
  1.尽可能使用索引
  2.查询有先后顺序,注意把快速条件或者索引查询放在前面
  3.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:
  select id from t where num=10 or num=20
  可以这样查询:
select id from t where num=10
union all
select id from t where num=20
  4.要避免在where中使用表达式,这样将放弃索引,进行全表查询


顺其自然EVO 2014-02-18 11:32 发表评论

相关 [大数据 并发 数据库] 推荐:

大数据高并发数据库设计注意要点

- - BlogJava-qileilove
数据库的设计非常重要,很多时候,我们只关心和考虑到眼前的功能,而忽略了后续的可维护性和可拓展性,以及还有一个在大数据时代会遇到的高并发问题.    在设计表结构时要注意以下几个要点:.   1.数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率.

全球10大数据库

- - 译言-电脑/网络/数码科技
原文: Fiorenttini   译者: julie20098. [非商业性转载必须注明译者julie20098和相关链接. ,否则视为侵权,追究转载责任. 世界气候数据中心:气候全球数据中心, 220TB 的网络数据, 6PB 的其它数据. 国家能源研究科学计算中心,有 2.8PB 容量.

数据库内核的并发控制

- - idea's blog
大部分程序员最先接触并发编程, 一般是从编程语言里的多线程和锁开始. 但是, 并发控制是一种广义的技术思想, 千万不可将眼光局限于编程语言所提供的锁. 将编程语言里的并发控制技术推广, 就能得到任何层面的并发控制技术.. 以操作一个文件为例, 如果不做并发控制, 就会遇到数据完整性问题. 例如, 我们写入的一项数据, 对应着现实对象, 如果不做并发控制, 那么可能读到的时两项数据的混合体, 或者只读到一项数据的部分..

大数据量下的SQL Server数据库自身优化

- - Oracle - 数据库 - ITeye博客
  1.1:增加次数据文件.   从SQL SERVER 2005开始,数据库不默认生成NDF数据文件,一般情况下有一个主数据文件(MDF)就够了,但是有些大型的数据库,由于信息很多,而且查询频繁,所以为了提高查询速度,可以把一些表或者一些表中的部分记录分开存储在不同的数据文件里.   由于CPU和内存的速度远大于硬盘的读写速度,所以可以把不同的数据文件放在不同的物理硬盘里,这样执行查询的时候,就可以让多个硬盘同时进行查询,以充分利用CPU和内存的性能,提高查询速度.

文章: 大数据分析与列数据库

- - InfoQ cn
百度技术沙龙第三十四期:机器学习之多媒体方向的思考(2013年1月12日 周六). 百度技术沙龙特约观察员火热招募中,2013,因为有你更精彩. 性能测试专家,7dtest.com创始人高楼(Zee)主持出品2013北京QCon“优秀测试实践分析”专场. InfoQ《深入浅出Node.js》专栏作者,CNode社区朴灵确认主持并参与分享QCon Node.js专题.

在集群上支持数据库大数据量导出

- - Java - 编程语言 - ITeye博客
数据库表(经过程序处理)导出一般使用EXCEL文件,技术一般有POI、JXL、FastExcel. 但是当文件过大(几十个字段,行数超过200,000)的时候,往往会出现内存溢出OutOfMemery,这个是应用无非承受的. 对于导出这么大量的数据,一般没有实时性的要求,也没有外观的要求. 业务部分的需求一般是:导出80W行数据,不管是什么,最后能变化成EXCEL即可.

MySQL数据库如何解决大数据量存储问题

- - 数据库 - ITeye博客
利用MySQL数据库如何解决大数据量存储问题. 各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存储大数据量的问题,主要是数据库中的两张历史数据表,一张模拟量历史数据和一张开关量历史数据表,这两张表字段设计的很简单(OrderNo,Value,DataTime). 基本上每张表每天可以增加几千万条数据,我想问如何存储数据才能不影响检索速度呢.

唯品金融大数据团队的图数据库实践

- -
在大数据时代,社交关系趋于复杂化,越来越多的互联网项目都和社交关系联系起来. 而对社交关系的良好契合,使得图数据库(Graph Database)在互联网领域迅速崛起. 通过图数据库可以高效地进行社交关系查询、分析和数据挖掘,以发现有价值的信息. 近几年互联网金融发展火热,用户对消费分期、现金贷等需求也越来越高.

比较Flyway与Liquibase两大数据库迁移工具_Java

- -
众所周知,对于那些使用着关系型数据库引擎的各类应用程序而言,数据库迁移工具的选用是至关重要的. 它们不但能够让各种复杂且重复的过程更加自动化,而且可以让我们更加轻松且准确地完成各种大型的迁移任务. 下面,我将对两种最常见的开源迁移工具--Flyway和Liquibase,进行介绍与比较,以方便您在实际项目中做出合理的选择.

数据库老兵:大数据时代NoSQL不是颠覆性技术

- - IT经理网
数年前,当人们谈论起新兴的NoSQL数据库技术时,相当一部分观点认为NoSQL在大数据市场取代传统关系型数据库只是个时间问题. 如今,这一预言并未兑现,Mitchell Kertzman的总经理Hummer Winblad认为,大多数情况下,NoSQL都没有展现出所谓的革命性. 作为数据库的老兵,以下是Kertzman在本周的视频 访谈的一些观点摘录:.