大数据环境下的数据库架构

随着数据的快速增长,分表,分库,memcache,redis,mongodb,hadoop,bigtable等,各种解决方案呼之欲出。经过测试,在MySQL中,无论如何加索引,数据超过百w时,查询起来耗时很明显。

因此mysql分表分库+memcache+redis也不失是一个完美解决方案。

由于redis不支持复杂查询,redis的读取性能还是赶不上mem这些劣势,因此才需要一些搭挡。

流程

从CRUD看底层架构。

1. 插入数据

一般情况下,对用户是没有必要分表的,用户的文章或者微博才分表,毕竟用户表和微博表是无法比拟,不一个等级的。

插入时,任何表,mysql只存储索引字段,其它数据存储在redis上。文章表可按一定规则进行静态分表,比如按用户id分100张表,每个用户发的文章都会路由到同一张表中。

数据总数需要一个单独的字段存储在redis中,每个用户都有一个key进行存储文章总数。有时总数数据会与实际总条数有所不同,因此需要定期执行mysql count进行更新redis中的总数。

下面是分表路由,把uid对100取余:

protected function getTableName($name, $id=null) {
   $tableName = self::SYS_DB_PREFIX . $name;
   if (is_numeric($id) && $id > 0)
       return $tableName . ‘_‘ . ($id % $this->tableNum);
}

2. 查询数据

每第一次数据查询时,根据MySQL中的索引从redis查询,需雅加达娱乐城要将查询结果存储在memcache中,下次查询直接从memcache获取。查询某人文章时,直接从一张表中进行limit查询。

关于动态页面查询,比如登录后的豆瓣首页,会有一些动态好友的更新信息。这些信息是存储在一张临时表中的,只保存10天的更新。

3. 删除数据

整个系统无任何实际操作,只进行字段状态修改。

4. 修改数据

修改数据时,需要更新对应的memcache。

分库

当系统应用更加复杂时,一台数据库服务器的压力是很大的,可根据系统的业务流进行分库,比如文章一个独立库,评论一个独立库等。

更复杂的搜索

比如招聘网站中的,按地点,按行业,按规模等更多条件查询时,就需要一定的搜索系统来完成,这里不做更多搜索细节讨论。

时间: 2024-10-10 08:25:44

大数据环境下的数据库架构的相关文章

XFS:大数据环境下Linux文件系统的未来?

XFS:大数据环境下Linux文件系统的未来? XFS开发者Dave Chinner近日声称,他认为更多的用户应当考虑XFS.XFS经常被认为是适合拥有海量数据的用户的文件系统,在空间分配方面的可扩展性要比ext4快“几个数量级”. “元数据验证”意味着,让元数据自我描述,保护文件系统,防范被存储层指错方向的写入.那么,为什么我们仍需要ext4? AD:WOT2015 互联网运维与开发者大会 热销抢票 [51CTO 2月7日外电头条]Linux有好多种件系统,但往往最受关注的是其中两种:ext4

大数据环境下,我们被卖了一次又一次

大数据,人工智能是当下互联网最热门的话题. 抛开大数据的人工智能都是耍流氓,人工智能需要大数据作为基础支持. 大数据是1980年,著名未来学家阿尔文·托夫勒便在<第三次浪潮>一书中,将大数据热情地赞颂为"第三次浪潮的华彩乐章".大约从2009年开始,"大数据"成为互联网信息技术行业的流行词汇. 什么是大数据? 大数据,或称巨量数据.海量数据;是由数量巨大.结构复杂.类型众多数据构成的数据集合,是基于云计算的数据处理与应用模式,通过数据的集成共享,交叉复用

大数据环境下的隐形隐私问题探讨

在大数据环境下,信息敏感属性由原来具体的.明确的属性集,成为散落在海量数据中分散的.模糊的信息碎片. 隐形隐私数据的安全保护核心就是基于数据防泄漏技术能够应对更广泛的隐私信息泄露渠道 ,以及采取与隐私隐私数据保护相对应的隐私保护技术手段和管理手段. 下载高清完整PPT材料以及获取更多精彩请扫描长图右下角二维码,加入IT狂想者,提升自我价值,共赢财富与未来! 原文地址:https://blog.51cto.com/cnsecurity/2386952

大数据环境下的数据仓库建设(转)

这几天研究了一家美国的大数据公司1010data,它在产品白皮书中提出了新一代数据仓库的概念(NEXT-GENERATION DATA DISCOVERY),相对于第一代数据仓库,具有如下一些特征: l  用户可以针对任何问题进行分析和查询,也就是说,分析系统要提供更加友好的操作体验,更加明细的数据粒度: l  分析效率和水平扩展,在大数据量的情况下,也要保证分析过程的高效率: l  数据混搭和数据分享,强调企业内部数据和外部数据的综合分析,以及数据的货币化: 在它的报告中,同时也非常强调自助分

大数据环境下的文件系统感想

而对于一些场景,比如虚拟机活动镜像的存储,或者说虚拟机硬盘文件的存储,还有大数据处理等场景,对象存储就显得捉襟见肘了.而文件系统在这些领域有突出的表现,比如Nutanix的NDFS(Nutanix Distributed Filesystem)和VMware的VMFS(VMware Filesystem)在虚拟机镜像存储方面表现很出色,Google文件系统GFS及其开源实现HDFS被广泛用于支撑基于MapReduce模型的大数据处理支持得很好,而且能够很好地支持百GB级.TB级甚至更大文件的存储

大数据环境下的数据仓库建设

作者:萝卜(微信:Robbie_Qi) 这几天研究了一家美国的大数据公司1010data,它在产品白皮书中提出了新一代数据仓库的概念(NEXT-GENERATION DATA DISCOVERY),相对于第一代数据仓库,具有如下一些特征: l  用户可以针对任何问题进行分析和查询,也就是说,分析系统要提供更加友好的操作体验,更加明细的数据粒度: l  分析效率和水平扩展,在大数据量的情况下,也要保证分析过程的高效率: l  数据混搭和数据分享,强调企业内部数据和外部数据的综合分析,以及数据的货币

大数据高并发系统架构实战方案

大数据高并发系统架构实战方案(LVS负载均衡.Nginx.共享存储.海量数据.队列缓存 ) 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练.通过该课程的学习,普通的技术人员就可以快速搭建起千万级的高并发大数据网站平台,课程涉及内容包括:LVS实现负载均衡.Nginx高级配置实战.共享存储实现动态内容静态化加速实战.缓存平台安装配置使用.mysql主从复制安装配置实战等.课程二十.

现阶段大数据环境中会存在什么样的不安全因素?

之前分享过的大数据时代的到来,为我们提供了哪些便利之处?今天墨者安全为大家分享下,在现阶段的大数据环境中,会存在什么样的不安全因素?如今各行各业的领域针对安全都有不同的需求,从采集.整合.提炼.挖掘到发布,这一流程已经形成一套完整的产业链条.随着数据的进一步发展,对于产业链中的安全防护变得更加困难,随时都会有数据泄露的风险,所以在大数据的应用过程中,如何确保用户及自身信息资源不被泄露,这将在很长一段时间都是企业重点考虑的问题.1.大数据的基础设施不安全因素包括存储设备.运算设备.一体机和其他基础

第十三章、大规模数据库架构

第十三章.大规模数据库架构 内容提要: 1.了解分布式数据库技术 2.了解并行数据库技术 3.了解云数据库技术 4.了解XML数据库技术 第一节 分布式数据库 1.1.分布式数据库系统概述 分布式数据库系统与分布式数据库的区别: 分布式数据库系统--数据分布存储于若干场地,并且每个场地由独立于其它场地的DBMS进行数据管理.物理上分散.逻辑上集中的数据库系统. 分布式数据库--分布式数据库系统中各场地上数据库的逻辑集合. 1.2.分布式数据库目标与数据分布策略 分布式数据库目标: 12个目标: