用JAVA如何实现每天1亿条记录的数据存储,数据库方面怎么设计?

标签: java 记录 数据 | 发表时间:2017-10-11 12:26 | 作者:linder
出处:http://www.iteye.com

一天秒数:60*60*24=86,400秒

每天写入数据量:100,000,000条

平均每秒写入数据量:100,000,000/86,400=1157.5条

峰值每秒估算写入数:1157.5*10=11575条

因此建议从以下几个层面处理

1、数据库服务器磁盘采用高速SSD磁盘

2、数据库采用2个节点的集群方式部署,每个集群节点3台服务器,1主2备,主数据库为写数据库,备数据库为读数据,采用读写分离,单集群节点内主备库数据实时同步,集群节点主库数据实时同步

3、数据表设计采用分区、分表方式设计表结构

4、数据写入采用单事务批量写入的方法新增数据

5、在关键字段建立索引,提高查询效率

6、第一次查询后将数据缓存到radis中,方便下次查询



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [java 记录 数据] 推荐:

用JAVA如何实现每天1亿条记录的数据存储,数据库方面怎么设计?

- - 数据库 - ITeye博客
一天秒数:60*60*24=86,400秒. 每天写入数据量:100,000,000条. 平均每秒写入数据量:100,000,000/86,400=1157.5条. 峰值每秒估算写入数:1157.5*10=11575条. 因此建议从以下几个层面处理. 1、数据库服务器磁盘采用高速SSD磁盘. 2、数据库采用2个节点的集群方式部署,每个集群节点3台服务器,1主2备,主数据库为写数据库,备数据库为读数据,采用读写分离,单集群节点内主备库数据实时同步,集群节点主库数据实时同步.

java 数据存储 bit

- - zzm
大家都知道在Java 数据存储方式. 定1 int = 4 byte, 1 byte = 8 bit. 以此推理那么1个int在计算机中就是以4 * 8 = 32位(bit)的方式存储的. 内存大小为一个1G的空间,有 8*1024*1024*1024=8.58*10^9bit;85亿长度. 用1位来表示一个数据是否出现过,0为没有出现过,1表示出现过.

通过Java程序获取Dynatrace数据

- - Taobao QA Team
“dynaTrace Ajax是一个详细的底层追踪工具,它不仅可以显示所有请求和文件在网络中传输的时间,还会记录浏览器Render、CPU消耗、JavaScript解析和运行情况等详细的信息,而这些也只是dynaTrace Ajax的冰山一角. showslow平台同样采集了dynatrace的数据,所以做为kelude平台前端页面测试组件,同样要支持dynatrace数据的获取,该代码由云晰同学编写维护:.

JSON与JAVA的数据转换

- - BlogJava_首页
本文介绍如何使用JSON-lib这个Java类包实现Java的数据转换. 通过此类包可以把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean. JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean.

java解析xml数据---sax解析器

- - ITeye博客
下面是handler解析数据的方法. private HashMap map = null;// 存储单个解析的完整对象. private List> list = null;// 存储全部的解析对象. private String currentTag = null; // 正在解析的元素的标签.

记录帖:碰到的一些Java问题

- gengmao - BlueDavy之技术blog
这个贴用于记录自己碰到过的一些Java问题,会根据经验不断增加,以便总结,:). Case: 某应用出现启动后集群中部分node成功,部分node失败. 1、失败的node抛出的是NoClassDefFoundError,这些node在环境上和应用包上是完全一致的,因此猜想是classloader装载class时出现了什么问题;.

使用AOP与注解记录Java日志

- - ImportNew
有些时候,我想要把每个运行过的方法接收到的参数、返回值和执行时间等信息记录(通过slf4j 和 log4j)下来. 在AspectJ、jcabi-aspects和Java注解的帮助下我实现了这个想法. 在log4j中可以看到以下输出:. 接下来我们来看看它是如何工作的. 注解是Java 6中采用的一种技术( 译注:其实Java 5就有注解了).

SQL 数据类型和 Java 数据类型间的映射关系

- - ITeye博客
由于 SQL 数据类型和 Java 数据类型是不同的,因此需要某种机制在使用 Java 类型的应用程序和使用 SQL 类型的数据库之间来读写数据. 为此,JDBC 提供了 getXXX 和 setXXX 方法集、方法 registerOutParameter 和类 Types. 本章汇集了影响各种类和接口的数据类型的有关信息,并列出所有的对应关系表(这些表显示了 SQL 类型和 Java 类型之间的映射关系)以便于参考.

使用Java基于数据流直接抽取ppt文本

- - 脚本爱好者
如下代码是直接基于数据流进行文本抽取,支持powerpoint97-powerpoint2003版本,之后的版本实际都是xml,抽取文本非常简单,因此在此处不再说明,代码仅供研究学习使用,禁止用于商业用途.

使用Java基于数据流直接抽取word文本

- - 脚本爱好者
如下代码是直接基于数据流进行文本抽取,支持word97-word2003版本,之后的版本实际都是xml,抽取文本非常简单,因此在此处不再说明,代码仅供研究学习使用,禁止用于商业用途.