对于简单的Web应用程序,主要要求是尽可能快地处理大约30(10m * 3表)百万条记录。我之前没有处理过这么多的数据,所以想要有经验的人提出一些建议/建议。使用大型(数千万行)数据集
该数据库将持有企业的详细信息。大约25个属性将描述一项业务;名称,地址等。表格结构如下。
CREATE TABLE IF NOT EXISTS `businesses` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`type` int(2) NOT NULL,
`organisation` varchar(40) NOT NULL,
`title` varchar(12) NOT NULL,
`given_name` varchar(40) NOT NULL,
`other_name` varchar(40) NOT NULL,
`family_name` varchar(40) NOT NULL,
`suffix` varchar(5) NOT NULL,
`reg_date` date NOT NULL,
`main_trade_name` varchar(150) NOT NULL,
`son_address_l1` varchar(50) NOT NULL,
`son_address_l2` varchar(50) NOT NULL,
`son_address_suburb` int(3) NOT NULL,
`son_address_state` int(2) NOT NULL,
`son_address_postcode` varchar(10) NOT NULL,
`son_address_country` int(3) NOT NULL,
`bus_address_l1` varchar(50) NOT NULL,
`bus_address_l2` varchar(50) NOT NULL,
`bus_address_suburb` int(3) NOT NULL,
`bus_address_state` int(2) NOT NULL,
`bus_address_postcode` varchar(10) NOT NULL,
`bus_address_country` int(3) NOT NULL,
`email` varchar(165) DEFAULT NULL,
`phone` varchar(12) NOT NULL,
`website` varchar(80) NOT NULL,
`employee_size` int(4) NOT NULL,
PRIMARY KEY (`id`),
KEY `type` (`type`),
KEY `phone` (`phone`),
KEY `reg_date` (`reg_date`),
KEY `son_address_state` (`son_address_state`),
KEY `bus_address_state` (`bus_address_state`),
KEY `son_address_country` (`son_address_country`),
KEY `bus_address_country` (`bus_address_country`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `son_address_l1` (`son_address_l1`),
FULLTEXT KEY `son_address_l2` (`son_address_l2`),
FULLTEXT KEY `bus_address_l1` (`bus_address_l1`),
FULLTEXT KEY `bus_address_l2` (`bus_address_l2`)
) ENGINE=MyISAM;
会有2个这样的其他表,因为每个业务细节将在3个来源(用于比较目的)中呈现。只有一个表将要写入。
关于应用使用,
- 很少写,负荷读取。
- 10 * 300万的数据不会被超时插入,它将被插入到最初。
- 应用程序不会有很多请求,<每秒10个请求。
- 初始数据加载后,用户将更新这些细节。将一个表格的数据与其他2进行比较并更新第一个表格中的数据。
- 会有大量的搜索,主要是按名称,地址,电话和州。单个搜索将遍历所有3个表格。搜索需要很快。
- 刨使用PHP
我的问题是建设社会主义,
- 是否值得来处理一个表中的3个来源,而不是3个表?
- MySQL可以提供一个很好的解决方案吗?
- MongoDB能够使用更少的硬件资源处理相同的情况吗?
- 建立样本数据库进行测试的最佳方式是什么?我购买了Amazon RDS(大型),并插入了10000条记录,并将它们翻倍,直到获得1000万条记录。
- 关于此主题的任何好消息?
谢谢。
结构是确定性的,还是可以修改/改进? – mamadrood 2012-04-13 02:55:17
是的,它可以被修改。 – 2012-04-13 03:09:54