关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 网站维护 »微博 请问你是怎么优化数据库的?

    微博 请问你是怎么优化数据库的?

    2011-04-20 16:35:00 出处:ITJS
    分享

    围脖,织围脖——这是什么?冬天到了,织条围脖保暖吗?错,这是网络流行用语。这还是大家的生活方式,生活态度。“找我?来我微博啊!”日前身边的朋友都在织啊织,你不织?你就是“奥特曼”。那么大家是否知道微博的开发模式吗?数据库是如何部署的?又是如何优化的?这些问题一出,必要找达人为我们解惑。51CTO有幸请到新浪首席DBA杨海潮先生来为我们解一解上述的疑惑。

    专访人物介绍

    杨海潮,新浪首席DBA,在大规模高并发,海量访问有丰富的管理经验。热衷于数据库设计,性能优化,分布式部署方案和高可用性方面的研究。

    之前从事大访问量网站的部署以及优化工作,加入新浪后主要负责整个公司的数据库管理工作。

    www.itjs.cn 

    51CTO:新浪现在的开发模式还是LAMP吗?

    杨海潮:目前大部分业务还是使用LAMP方式,也有部分采用LNMP方式。

    51CTO:新浪数据库是如何部署的?

    杨海潮:目前NoSQL和MySQL是结合使用的,根据应用的特点选择合适存储方式。

    51CTO:Sharding策略是很好的数据库扩展方案,但是这种方案也不是万能的,新浪是如何选取sharding的形式,来适应不同的应用场景?

    杨海潮:如图:

    www.itjs.cn 

    sharding只用于数据量大同时有性能瓶颈的库,大部分库不进行sharding处理。

    对于数据量比较大的库,在一开始就考虑sharding策略,例如索引数据和内容数据分开设计,每类数据库根据业务逻辑选择恰当的partitioning key,拆分成一定数量的表。

    然后随着压力的增加进行垂直拆分,垂直拆分后的库再遇到性能瓶颈时首先考虑用硬件来解决。

    当硬件解决不了时才开始考虑水平拆分。

    在选择sharding方案时仔细考虑业务逻辑。对于读密集型应用,基本上通过增加slave来解决,对于写密集型应用才进行垂直和水平拆分工作。

    51CTO:跨越越多的sharding,带来的开销就越大,这个数量是如何控制的?

    杨海潮:目前我在设计之前就避免跨表操作,选择适当的paritioning key,也即合适的拆分维度,避免对后期业务的影响。

    根据业务逻辑的重要程度,如果业务逻辑是查询某一个用户的信息,那么会按用户进行拆分,那么保证一个用户的数据是落在一张表里面。按时间维度进行拆分,那么会分析数据的冷热程度,把80%以上的数据放在一个表,避免过多的跨表查询。

    在这种拆分维度满足不了业务需求时,我们会利用空间换时间的思想,同一份数据按多种维度进行拆分,让每种业务逻辑的查询语句都有很高的效率。

    51CTO:很多用户都会把sharding和partitioning混淆,您能讲讲您是怎么区分sharding与partitioning的异同。

    杨海潮:sharding通常是指垂直拆分和水平拆分,是一个总体的概念,mysql的partitioning是实现sharding的一种技术。

    51CTO:新浪现在采用SQL+NoSQL结合的数据库部署,那么对于两种数据库,分别是如何进行优化的呢?

    杨海潮:目前NoSQL和MySQL是结合使用的,根据应用的特点选择合适存储方式。譬如:关系型数据,例如:索引使用MySQL存储,非关系数据库,例如:一些K/V需求的,对并发要求比较高的放入NoSQL产品存储,或者通过关系数据复制到NoSQL(redis)来显示不同的应用需求。

    针对MySQL做的优化比较多,从硬件(使用SSD,Fusion-IO,Cachecade等),文件系统(尝试XFS),调整IO调度,优化参数,调整索引到减少应用对数据库的访问和交换等。

    NoSQL(redis)通过修改源码满足自己的业务需求:完善它的replication机制,加入position的概念,让维护更容易,同时failover能力也大大增强。改善Hashset在rdb里面的存储方式,提升复杂数据类型的加载速度。

    www.itjs.cn 

    51CTO:如何保证数据库的安全性的呢?

    杨海潮:主要通过几个方面进行考虑:

    只通过内网进行访问。 对来源IP做限制。 使用一定复杂度的密码策略。 从程序的角度对于输入进行检查,例如使用绑定变量防止SQL注入。 对一些敏感的信息会记录上操作日志,定期以报表的形式发给相关人员。
    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    Destoon 模板存放规则及语法参考

    Destoon系统常量与变量

    Destoon系统目录文件结构说明

    Destoon 系统安装指南

    Destoon会员公司主页模板风格添加方法

    Destoon 二次开发入门

    Microsoft 将于 2026 年 10 月终止对 Windows 11 SE 的支持

    Windows 11 存储感知如何设置?了解Windows 11 存储感知开启的好处

    Windows 11 24H2 更新灾难:系统升级了,SSD固态盘不见了...

    小米路由器买哪款?Miwifi热门路由器型号对比分析

    IT头条

    Synology 对 Office 套件进行重大 AI 更新,增强私有云的生产力和安全性

    01:43

    StorONE 的高效平台将 Storage Guardian 数据中心占用空间减少 80%

    11:03

    年赚千亿的印度能源巨头Nayara 云服务瘫痪,被微软卡了一下脖子

    12:54

    国产6nm GPU新突破!砺算科技官宣:自研TrueGPU架构7月26日发布

    01:57

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    技术热点

    如何删除自带的不常用应用为windows 7减负

    MySQL中多表删除方法

    改进的二值图像像素标记算法及程序实现

    windows 7 32位系统下手动修改磁盘属性例如M盘修改为F盘

    windows 7中怎么样在家庭组互传文件

    Linux应用集成MySQL数据库访问技巧

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。