高容量数据库性能测试-mysql
mysql性能测试报告

MySQL性能测试报告1. 引言MySQL是一种开源的关系型数据库管理系统,被广泛应用于Web应用程序的开发中。
在开发过程中,了解MySQL的性能是非常重要的,可以帮助我们优化和调整数据库的配置,以提高系统的响应速度和稳定性。
在本文档中,我们将介绍如何进行MySQL性能测试,并分析测试结果。
2. 测试环境准备在进行性能测试之前,我们需要准备一个合适的测试环境。
以下是一些测试环境准备的步骤:2.1 安装MySQL首先,我们需要安装MySQL数据库。
可以从MySQL官方网站下载安装程序,并按照提示进行安装。
2.2 创建测试数据库在MySQL中,我们可以使用CREATE DATABASE语句创建一个新的数据库,用于存储测试数据。
例如,我们可以使用以下命令创建一个名为testDB的数据库:CREATE DATABASE testDB;2.3 创建测试表在测试数据库中,我们需要创建一个测试表,用于存储测试数据。
可以使用CREATE TABLE语句创建一个新的表。
例如,我们可以使用以下命令创建一个名为testTable的表:CREATE TABLE testTable (id INT PRIMARY KEY,name VARCHAR(100),age INT);2.4 插入测试数据在测试表中,我们需要插入一些测试数据,以模拟真实的数据库负载。
可以使用INSERT INTO语句插入数据。
例如,我们可以使用以下命令插入一条测试数据:INSERT INTO testTable (id, name, age) VALUES (1, 'Alice', 25);3. 性能测试步骤一旦我们准备好了测试环境,就可以开始进行MySQL性能测试了。
以下是一些性能测试的步骤:3.1 选择性能测试工具在进行性能测试之前,我们需要选择一个合适的性能测试工具。
常用的MySQL 性能测试工具有sysbench、mysqlslap等。
数据库的性能测试与压力测试方法

数据库的性能测试与压力测试方法作为当前互联网应用的核心技术之一,数据库在互联网时代扮演着至关重要的角色。
作为一个数据库管理员或开发人员,如何保证数据库的高性能和稳定性是一项重要的挑战。
本文将深入探讨数据库的性能测试和压力测试方法,以及如何通过测试来诊断和优化数据库的性能问题。
一、性能测试的定义和目的性能测试是指在特定条件下评估系统或组件在给定负载下的表现。
对于数据库来说,性能测试的目的是衡量数据库在高负载和大数据量环境下的处理速度和吞吐量,从而评估数据库的性能。
性能测试可分为两种类型:基准测试和负载测试。
1. 基准测试基准测试的主要目的是评估数据库在标准化负载下的性能。
通过使用一系列标准测试用例(如OLTP基准测试),可以快速地评估数据库的性能和吞吐量。
2. 负载测试负载测试是指在特定条件下评估系统或组件在给定的负载下的表现。
对于数据库来说,负载测试的目的是评估数据库在高负载和大数据量环境下的处理速度和吞吐量。
负载测试可分为以下几种类型:(1)读和写性能测试:评估数据库在读和写数据时的性能。
(2)并发用户数测试:评估数据库在同时处理多个用户请求时的性能。
(3)数据容量测试:评估数据库在大数据量下的性能。
(4)网络延迟测试:评估数据库在网络延迟较高的环境下的性能。
二、压力测试的定义和目的压力测试是用于确定系统的最大负载能力的测试过程。
对于数据库来说,压力测试的目的是测试数据库在高负荷和极端条件下的处理能力。
与性能测试不同,压力测试通常会在数据库达到负载极限时继续测试,以便评估数据库的鲁棒性,判断是否出现系统上的故障和缺陷。
在进行压力测试时,需要考虑以下因素:1. 负载:确定测试中要使用的最大负载。
2. 持续时间:确定要持续测试的时间。
3. 日志记录:记录系统日志以便于调查问题。
4. 监控:监控系统负载,确定是否达到极限。
三、数据库性能测试和压力测试常用工具为了进行数据库性能测试和压力测试,需要使用适当的工具,以下是一些常见的数据库性能测试和压力测试工具。
如何对MySQL数据库进行性能测试和压力测试

如何对MySQL数据库进行性能测试和压力测试引言:MySQL是一种非常流行的关系型数据库管理系统,用于存储和管理大量的数据。
对于开发人员和数据库管理员来说,了解MySQL数据库的性能和可靠性非常重要。
性能测试和压力测试是评估数据库性能的有效方法。
本文将介绍如何对MySQL数据库进行性能测试和压力测试,以帮助开发人员和数据库管理员优化数据库性能。
一、性能测试的目的和意义性能测试是通过模拟实际使用情况,评估系统和数据库的性能指标。
MySQL 数据库的性能测试可以帮助开发人员和数据库管理员了解数据库在不同负载情况下的性能表现,并发现可能的性能瓶颈和优化方向。
通过性能测试,可以提前发现数据库的性能问题,并采取相应的措施解决问题,确保系统具有良好的稳定性和可靠性。
二、性能测试的方法和步骤1. 确定测试需求:在进行性能测试之前,需要明确测试的目标和需求。
比如测试的负载量、测试的时间范围、测试的场景等。
2. 创建测试数据:为了模拟真实的使用情况,需要创建测试数据。
可以使用工具如DataGenerator或自己编写脚本生成测试数据。
3. 设置测试环境:为了保证测试的准确性和可重复性,需要创建独立的测试环境。
该环境包括独立的服务器和数据库实例。
缓冲区大小、连接数、线程数、日志等参数。
5. 执行测试脚本:编写测试脚本,模拟实际的使用场景,并执行测试脚本。
可以使用工具如Sysbench、Percona Toolkit等进行测试。
6. 监控和分析性能指标:在测试过程中,需要及时监控数据库的性能指标,如响应时间、并发数、吞吐量等。
可以使用工具如MySQL Enterprise Monitor、Prometheus等进行监控和分析。
7. 性能优化和问题解决:根据性能测试的结果,发现性能瓶颈和问题,并采取相应的措施进行优化和解决。
如调整索引、优化查询、增加服务器资源等。
8. 重新测试和验证:在优化和解决问题后,需要重新进行性能测试,验证优化效果是否达到预期。
数据库性能测试报告-模板

数据库性能测试报告-模板
介绍
此报告描述了我们对数据库的性能测试。
该测试旨在评估数据库在负载下的表现。
测试环境
我们使用了以下测试环境:
- 数据库:MySQL 8.0.21
- 操作系统:Windows 10
- CPU:Intel Core i5-8250U
- RAM:8GB
- 硬盘:256GB SSD
测试方法
我们使用了以下测试方法:
- 客户端:使用Python编写的自定义脚本。
- 查询:我们使用了一组具有不同类型的查询。
- 负载:我们使用了不同数量的并发用户模拟负载。
- 测试时间:我们每个测试运行时间为1小时。
测试结果
我们进行了多次实验,以下是我们的结果:
- 对于100个并发用户,数据库响应时间平均为5.6秒。
- 对于200个并发用户,数据库响应时间平均为12.4秒。
- 对于500个并发用户,数据库响应时间平均为30.3秒。
结论
在我们的测试环境下,MySQL 8.0.21 的表现与预期相符。
但是,在高负载情况下,响应时间增加明显。
因此,在未来,我们应该采取措施来优化数据库的响应时间。
推荐
我们建议:
-定期进行性能测试,以便在发现性能问题时及时采取措施。
- 在高负载情况下,使用MySQL Clustering或Sharding来分担负载。
总结
此报告提供了我们在测试MySQL 8.0.21数据库性能方面的一些结果及建议。
我们希望该报告能够协助阁下制定出相关的策略,以提高系统的性能。
MySQL数据库的压力测试与性能评估

MySQL数据库的压力测试与性能评估一、引言MySQL作为一种开源的关系型数据库管理系统,被广泛应用于互联网和企业级系统中。
随着数据量和访问量的增加,数据库的性能和稳定性变得尤为重要。
为了确保数据库系统能够承受持续的高负载压力,进行压力测试和性能评估就显得尤为重要。
本文将介绍MySQL数据库的压力测试方法和性能评估指标,以及如何优化数据库性能。
二、压力测试方法1. 构建测试环境在进行压力测试之前,需要构建一个与实际生产环境相似的测试环境。
首先,搭建一台或多台具备一定性能的物理服务器或虚拟机。
然后,安装并配置MySQL 数据库,创建相应的表结构和索引。
2. 生成测试数据为了测试数据库的性能,需要生成一定量的测试数据。
可以使用工具或编写脚本生成各种类型的数据,以模拟真实的数据操作场景。
3. 设计测试用例根据实际需求,设计一系列的测试用例。
测试用例应该包括常见的增删改查操作,以及复杂的联表查询、事务处理等操作。
测试用例应该涵盖各种不同的数据量和并发访问量。
4. 执行压力测试使用性能测试工具,如Apache JMeter或OpenSTA,执行事先设计好的测试用例。
通过模拟多个并发用户对数据库进行操作,统计数据库的响应时间、吞吐量、并发连接数等性能指标。
三、性能评估指标1. 响应时间响应时间是用户提交请求后,服务器响应所需的时间。
通常以平均响应时间或百分位响应时间表示。
低延迟的响应对于用户体验至关重要。
2. 吞吐量吞吐量指单位时间内能够处理的请求数量。
可以通过每秒钟处理请求数(TPS)或每秒钟传输的数据量(QPS)来衡量数据库的性能。
高吞吐量表示数据库具备较高的处理能力。
3. 并发连接数并发连接数指同时连接到数据库的客户端数量。
测试过程中对并发连接数的控制可以反映数据库在高并发情况下的性能表现。
较高的并发连接数可能导致数据库响应变慢或崩溃。
4. CPU和内存利用率通过监控数据库服务器的CPU和内存使用情况,可以评估数据库在高负载情况下的资源利用情况。
数据库系统性能测试结果

数据库系统性能测试结果简介:数据库系统性能测试是评估和验证数据库系统在不同负载情况下的性能表现的过程。
通过性能测试,可以确定数据库系统的瓶颈、调优需求和性能优化方案。
本文将介绍我所进行的数据库系统性能测试,并展示测试结果。
测试环境:数据库系统:MySQL 8.0操作系统:Windows Server 2016硬件配置:Intel Core i7处理器、16GB内存、1TB SSD硬盘测试目标:1. 测试数据库系统在不同负载情况下的响应时间。
2. 评估数据库系统在并发访问情况下的处理能力。
3. 分析数据库系统性能表现,并提供优化建议。
测试方法:1. 创建测试数据集:使用随机数据生成器创建了一个包含100,000条记录的测试数据集。
2. 设置测试场景:设计了三个测试场景,分别为单用户、并发用户和大规模数据查询。
3. 单用户测试:通过单个用户对数据库系统进行增、删、改、查等操作,记录每个操作的响应时间。
4. 并发用户测试:同时模拟多个用户对数据库进行访问和操作,并记录平均响应时间和吞吐量。
5. 大规模数据查询测试:测试数据库系统在复杂查询和大规模数据集上的性能表现。
测试结果与分析:1. 单用户测试结果:- 插入操作平均响应时间:0.5秒- 删除操作平均响应时间:0.3秒- 更新操作平均响应时间:0.4秒- 查询操作平均响应时间:0.2秒单用户测试结果显示,数据库系统对于基本的增删改查操作响应较快,符合预期。
2. 并发用户测试结果:- 10个并发用户的平均响应时间:1秒- 20个并发用户的平均响应时间:1.5秒- 30个并发用户的平均响应时间:2秒- 最大吞吐量:100个查询/秒并发用户测试结果显示,在并发访问情况下,数据库系统的响应时间逐渐加长,并且吞吐量也有所降低。
这可能是由于数据库连接池的限制和高并发操作造成的。
3. 大规模数据查询测试结果:- 复杂查询平均响应时间:3秒- 大规模数据查询平均响应时间:5秒大规模数据查询测试结果显示,在复杂查询和大数据量情况下,数据库系统的响应时间明显增加。
通过sysbench工具实现MySQL数据库的性能测试

通过sysbench⼯具实现MySQL数据库的性能测试1.背景sysbench是⼀款压⼒测试⼯具,可以测试系统的硬件性能,也可以⽤来对数据库进⾏基准测试。
sysbench ⽀持的测试有CPU运算性能测试、内存分配及传输速度测试、磁盘IO性能测试、POSIX线程性能测试、互斥性测试测试、数据库性能测试(OLTP基准测试)。
⽬前⽀持的数据库主要是MySQL数据库和PG数据库。
在新服务器上线时,建议对服务器的性能做⼀次测试,最好与既往的同类型的服务器的性能测试报表做⼀个横线⽐较,发现潜在问题。
及新机器上线前,对服务器做⼀次体检。
对数据库⽽⾔,我们可以通过sysbench⼯具实现对数据库的基准测试。
在现在的系统架构中,前端都⽐较容易弹性⽔平拓展,数据库相对较难,因此,基准测试对数据库具有很重要的作⽤。
⽽对数据库的基准测试的作⽤,就是分析在当前的配置下(包括硬件配置、OS、数据库设置等),数据库的性能表现,从⽽找出MySQL的性能阈值,并根据实际系统的要求调整配置。
2.sysbench的安装1)安装命令yum -y install sysbench2)查看安装的版本sysbench --version3)查看已安装软件的信息(主要是通 rpm 命令)。
查询sysbench的安装信息,主要是测试mysql时,需要使⽤sysbench⾃带的lua脚本进⾏测试。
如果使⽤快速安装的⽅式,默认的脚本路径为:/usr/share/sysbench。
如果不在这个命令,我们我们执⾏以下命令查看,查找已安装在本机Linux系统上⾯的所有的sysbench软件的程序:rpm -qa sysbench列出该软件所有的⽂件与⽬录所在完整⽂件名(list):rpm -ql sysbench3.sysbench 语法sysbench --helpUsage:sysbench [options]... [testname] [command]Commands implemented by most tests: prepare run cleanup helpGeneral options:--threads=N number of threads to use [1]--events=N limit for total number of events [0]--time=N limit for total execution time in seconds [10]--forced-shutdown=STRING number of seconds to wait after the --time limit before forcing shutdown, or 'off' to disable [off]--thread-stack-size=SIZE size of stack per thread [64K]--rate=N average transactions rate. 0for unlimited rate [0]--report-interval=N periodically report intermediate statistics with a specified interval in seconds. 0 disables intermediate reports [0]--report-checkpoints=[LIST,...] dump full statistics and reset all counters at specified points in time. The argument is a list of comma-separated values representing the amount of time in seconds elapsed from start of test when report checkpoin --debug[=on|off] print more debugging info [off]--validate[=on|off] perform validation checks where possible [off]--help[=on|off] print help and exit [off]--version[=on|off] print version and exit [off]--config-file=FILENAME File containing command line options--tx-rate=N deprecated alias for --rate [0]--max-requests=N deprecated alias for --events [0]--max-time=N deprecated alias for --time [0]--num-threads=N deprecated alias for --threads [1]Pseudo-Random Numbers Generator options:--rand-type=STRING random numbers distribution {uniform,gaussian,special,pareto} [special]--rand-spec-iter=N number of iterations used for numbers generation [12]--rand-spec-pct=N percentage of values to be treated as 'special' (for special distribution) [1]--rand-spec-res=N percentage of 'special' values to use (for special distribution) [75]--rand-seed=N seed for random number generator. When 0, the current time is used as a RNG seed. [0]--rand-pareto-h=N parameter h for pareto distribution [0.2]Log options:--verbosity=N verbosity level {5 - debug, 0 - only critical messages} [3]--percentile=N percentile to calculate in latency statistics (1-100). Use the special value of 0 to disable percentile calculations [95]--histogram[=on|off] print latency histogram in report [off]General database options:--db-driver=STRING specifies database driver to use ('help' to get list of available drivers) [mysql]--db-ps-mode=STRING prepared statements usage mode {auto, disable} [auto]--db-debug[=on|off] print database-specific debug information [off]Compiled-in database drivers:mysql - MySQL driverpgsql - PostgreSQL drivermysql options:--mysql-host=[LIST,...] MySQL server host [localhost]--mysql-port=[LIST,...] MySQL server port [3306]--mysql-socket=[LIST,...] MySQL socket--mysql-user=STRING MySQL user [sbtest]--mysql-password=STRING MySQL password []--mysql-db=STRING MySQL database name [sbtest]--mysql-ssl[=on|off] use SSL connections, if available in the client library [off]--mysql-ssl-cipher=STRING use specific cipher for SSL connections []--mysql-compression[=on|off] use compression, if available in the client library [off]--mysql-debug[=on|off] trace all client library calls [off]--mysql-ignore-errors=[LIST,...] list of errors to ignore, or "all" [1213,1020,1205]--mysql-dry-run[=on|off] Dry run, pretend that all MySQL client API calls are successful without executing them [off]pgsql options:--pgsql-host=STRING PostgreSQL server host [localhost]--pgsql-port=N PostgreSQL server port [5432]--pgsql-user=STRING PostgreSQL user [sbtest]--pgsql-password=STRING PostgreSQL password []--pgsql-db=STRING PostgreSQL database name [sbtest]Compiled-in tests:fileio - File I/O testcpu - CPU performance testmemory - Memory functions speed testthreads - Threads subsystem performance testmutex - Mutex performance test基本语法如下:sysbench [options]... [testname] [command]command 是sysbench要执⾏的命令,包括prepare、run和cleanup。
MySQL数据库管理系统功能测试报告

MySQL数据库管理系统功能测试报告一、测试背景本次测试主要针对MySQL数据库管理系统的功能进行全面测试,旨在评估系统在各项功能方面的稳定性和性能表现。
测试过程中,我们将根据系统的设计要求和用户需求,对系统的各项功能进行详细测试和验证,以确定系统是否满足预期效果并提供改进建议。
二、测试目标1. 验证系统的数据库创建功能是否可靠,是否能够成功创建并管理数据库。
2. 测试系统的数据导入导出功能,确保数据的可靠导入和导出,以及相关设置是否正常工作。
3. 评估系统的数据备份与恢复功能,确保数据能够可靠备份并能够顺利恢复。
4. 测试系统的查询功能,验证查询结果是否准确,并评估查询性能。
5. 验证系统的数据权限管理功能,确保只有授权用户能够访问和操作数据库。
6. 评估系统的性能和稳定性,包括对大数据量和高并发情况下的测试。
三、测试方法1. 执行功能测试用例,对系统的各项功能进行详细测试。
2. 利用随机数据和真实数据进行测试,以模拟实际使用情况。
3. 进行性能测试,模拟多用户同时访问和操作数据库,观察系统的响应时间和资源占用情况。
4. 通过对比结果和预期输出进行验证,并记录测试过程中发现的问题和异常情况。
四、测试结果1. 数据库创建功能测试:- 系统成功创建了测试所需的数据库,并提供了相关的管理功能。
- 数据库创建过程中,系统没有出现错误或异常。
2. 数据导入导出功能测试:- 系统提供了数据导入和导出的功能,并支持多种文件格式。
- 在导入和导出数据时,系统能够正确处理各种数据类型和特殊字符。
- 导入和导出的数据一致性得到了有效的保证。
3. 数据备份与恢复功能测试:- 系统提供了数据备份和恢复的功能,并支持定期自动备份。
- 数据备份和恢复过程中,系统能够稳定运行且备份数据的完整性得到了保障。
4. 查询功能测试:- 系统支持灵活的查询语句,能够正确返回查询结果。
- 在大数据量和高并发的测试情况下,系统的查询性能依然可以保持在可接受范围内。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高容量数据库性能测试
耿红杰2010-10-25 测试环境说明
OS :CentOS 5.5 X86
MySQL:5.1.50 ,ha_innodb_plugin
CPU:Intel(R) Xeon(R) E5504 @ 2.00GHz
MEM:1G (1G swap)
Disk:20G
f
innodb_thread_concurrency=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=384M
default-table-type=InnoDB
init_connect='SET autocommit=0'
binlog_format=MIXED
log-bin=/disk2/mysql/binlog/using
query_cache_size=128M
测试目的
1.myisam和innodb引擎对于性能的影响,采用2000w的数据进行写入和查询测试
2.200000000数据的查询性能测试
3.myisam 引擎的分区功能
测试步骤1
1.create table
CREATE TABLE `innodb` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(45) DEFAULT NULL,
`adress` varchar(45) DEFAULT NULL,
`markert` varchar(45) DEFAULT NULL,
`tel` varchar(45) DEFAULT NULL,
`base` varchar(45) DEFAULT NULL,
`log` varchar(45) DEFAULT NULL,
`time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.load data into table
while i < 20000001 do
INSERT INTO `innodb`
(`name`, `adress`, `markert`, `tel`, `base`, `log`)
VALUES (
'play10100101010101010101010101',
'abcdefghijklmnopqrstuvwxyz01234567890',
'abcdefghijklmnopqrstuvwxyz01234567890',
'0086-27-87654321-99888',
'abcdefghijklmnopqrstuvwxyz01234567890',
'abcdefghijklmnopqrstuvwxyz01234567890'
);
set i = i+1;
end while;
3.query data from table
Q1: select count(*) from myisam;
Q2: select min(time) from myisam;
Q3: select max(time) from myisam;
Q4: select count(*) from myisam where time = '2010-10-21 14:20:51';
Q5: select count(*) from innodb where id between 10010000 and 10020000;
测试步骤2
1.MyISAM分区表
CREATE TABLE `play_sum_p` (
`play_sum_id` int(10) unsigned NOT NULL ,
`play_name` varchar(45) DEFAULT NULL,
`play_date` date DEFAULT NULL,
`player_id` int(11) NOT NULL DEFAULT '0',
`content_id` int(11) NOT NULL DEFAULT '0',
`play_completed` int(11) DEFAULT NULL,
`play_aborted` int(11) DEFAULT NULL,
`play_unknown` int(11) DEFAULT NULL,
KEY `player_id_idx` (`player_id`,`content_id`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8
PARTITION BY RANGE (day(play_date))
( PARTITION p1 V ALUES LESS THAN (11) DATA DIRECTORY= '/disk2/mysql/p01' INDEX DIRECTORY =
'/disk2/mysql/p01',
PARTITION p2 V ALUES LESS THAN (21) DATA DIRECTORY= '/disk2/mysql/p02' INDEX DIRECTORY =
'/disk2/mysql/p02',
PARTITION p3 V ALUES LESS THAN (32) DATA DIRECTORY= '/disk2/mysql/p03' INDEX DIRECTORY =
'/disk2/mysql/p03'
);
测试结论
1.对于playlog这样大数据量的日志数据,“一次写入,几次查询,零次更新,无事务支持”的特性,
选择MyISAM是比较好的选择。
测试结果说明,MyISAM在性能上明显优于InnoDB(2倍性能优势)。
2.对于大数据量的数据,数据维护也会“与众不同”,对于MyISAM表采用分区表(partition)可以
简化数据的导出和迁移(add|drop partition),简化数据的备份和恢复。
3.是否采用分区表主要是基于管理的需要,在存储设备没有物理分离的情况下,对性能并无明显影
响。
4.对于1G内存的系统,系统的iowait较高,采用2G内存和分区功能,系统的iowait有显著的降低
(iowait:70% 6%),该数据可能有其他系统的扰动。
5.对于数据的查询,索引设计是关键。
不能使用索引的查询性能与数据量关系很大,2GB的数据量
扫描约60秒。
根据项目设计,600GB(一个月的明细数据)的数据扫描可能需要5小时。
对于索引,同样看索引的数据量大小。
对于高性能的IO设备,扫描性能会高一些(这个根据不同的硬件设备可能有不同)。
6.在硬盘容量超过一半时,写性能就会明显下降,最大达到40%
7.基于测试环境的结果进行推算,生产系统在8*CPU 16GB Memory 的情况下;10000 display的数
据处理可以控制在1小时之内。
建议
1.根据业务需求,需要事务支持,所以选择innodb引擎。
2.playsum可以不设计主键(Primary Key),可以设计1-2个索引来加速查询性能。
3.playlog可以不设计主键,基于管理和维护的要求,单独设计一个database来存储playlog(灵活备
份)。
4.对于日期字段,若不参加运算可以用varchar,例如reportdate
5.根据业务需求,每天的数据量约为90,000,000条数据,容量约20G;以此推算一个月的数据量约
2,700,000,000条数据,600G(缺省的mysql支持的记录数为2^32,可以采用--with-big-tables 编译为(2^32)^2)。
6.mysql可能会采取Master-slave replication模式来部署,master作写入,slave仅作查询;该模式同
时可以提供mysql数据库的高可用。
7.所有的性能和结构设计基于整个项目的需求。