数据库选择

数据库选择

MySQL43]是一个快速的、多线程、多用户和健壮的SQL数据库服务器,支持关键任务、重负载系统的使用,是最受欢迎的开源数据库管理系统,是Linux下网站开发的首选。它由MySQL AB开发、发布和提供支持。

MySQL数据库能为网站提供:

  • 高性能。MySQL支持海量,快速的数据库存储和读取。还可以通过使用64位处理器来获取额外的一些性能,因为MySQL在内部里很多时候都使用64位的整数处理。

  • 易用性。MySQL的核心是一个小而快速的数据库。它的快速连接,快速存取和安全可靠的特性使MySQL非常适合在互联网站上使用。

  • 开放性。MySQL提供多种后台存储引擎的选择,如MyISAM, Heap, InnoDBBerkeley Db等。缺省格式为MyISAM。 MyISAM 存储引擎与磁盘兼容的非常好[44]。

  • 支持企业级应用。MySQL有一个用于记录数据改变的二进制日志。因为它是二进制的,这一日志能够快速地将数据的更改从一台机器复制(replication)到另一台机器上。即使服务器崩溃,这一二进制日志也能够保持完整。这一特性通常被用来搭建数据库集群,以支持更大的流量访问要求[30

  • 还不支持触发器,参照完整性,子查询和数据表视图等,但这些功能都在开发者的TO-DO列表当中。这就是开源的力量:你永远可以期待更好。

    国外的Yahoo!,国内的新浪,搜狐等很多大型商业网站都使用MySQL 作为后台数据库。对于一般的网站系统,无论从成本还是性能上考虑,MySQL应该是最佳的选择。




    1.

     

    高并发网站架构

     

     

    1.

     

    图片服务器分离

     

    apache

    服务器

     Lighttpd->Squid->Apache    

    静态资源和动态内容分离

     

    合并

    js 

    css 

    片等资源,减少请求次数,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,

    这是基本上大型网站都会采用的策略,

    他们都有独立的图片服务器,

    甚至很多台图片服务器。

    这样的架构可以降低提供页面访问请求的服务器系统压力,

    并且可以保证系统不会因为图片

    问题而崩溃。另外,在处理静态页面或者图片、

    js

    等访问方面,可以考虑使用

    lighttpd

    Apache

    ,它提供了更轻量级和更高效的处理能力。

     

    2.

     

    HTML

    静态化

     

    3.

     

    数据库集群和库表散列

     

    MySQL

    提供的

    Master/Slave

    也是类似的方案

     

     

    主库和从库分开,主库负责写和更新,

    从库只读,从库从主库同步数据。

     

       

    库表散列是常用并且最有效的解决方案。我们在应用程序中安装业务和应用或者功能模

    块将数据库进行分离,不同的模块对应不同的数据库或者表,再按照一定的策

     

    略对某个页

    面或者功能进行更小的数据库散列,比如用户表,按照用户

    ID

    进行表散列,这样就能够低

    成本的提升系统的性能并且有很好的扩展性。

    sohu

    的论坛

     

    就是采用了这样的架构,将论坛

    的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和

    ID

    进行散列数

    据库和表,最终可以在配置文件中进行简

     

    单的配置便能让系统随时增加一台低成本的数据

    库进来补充系统性能。

     

    数据库分布,

    mysql

    提供主从

    (master-slave)

    的方式,即数据库有一个主服务器,可以有许

    多从服务器,

    slave

    master

    同步数据,

     

    网站服务器请求时从

    slave

    来查询,

    减轻

    master

    压力。

    也可以按数据业务切分,

    将不同的数据放在不同的服务器上,

    这样也会减轻数据请求

    的压力

    (

    但同

     

    时要访问多台数据库服务器,又增加了一些开销

    )

    mysql

    的主从同步原理是

    binlog

    ,通过同步主服务器的操作命令过程,来实现在从服务器上重建数

     

    据。同时这种模

    式也实现了读写分离,写的时候在

    master

    上写,读的时候在

    slave

    上读。防止大并发时受

    写入速度影响读取速度


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值