SQL ? No SQL?
来源:互联网 发布:ubuntu tar.gz 压缩 编辑:程序博客网 时间:2024/04/20 05:02
(本文镜像于http://cloudme.net84.net/?p=29)
在“三蛋”免费空间(000webhost)上装了一个Discuz!的论坛,经过简单的配置就可以使用。免费空间能够支持功能强大的PHP论坛,已经让人欣慰了。Discuz!在数据库里面塞了上百个表,访问的速度都还令人满意。但毕竟000webhost的每台MYSQL服务器是很多个虚拟主机共用的,对数据库访问太频繁肯定会导致其他空间的性能受到影响,进而被管理员给封掉网站。不过我想,我的论坛也就拿来玩玩,平时估计也就几个人在线,应该问题不大吧?
但是距离装好论坛的时间还不到一天,我在在线人数为2的时候访问该论坛,就出现了如下错误提示:
Warning: mysql_pconnect() [function.mysql-pconnect]: Too many connections in /home/freehost/new_encoded.php on line 23
Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'nobody'@'localhost' (using password: NO) in /home/freehost/new_encoded.php on line 24
Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/freehost/new_encoded.php on line 24
Warning: Cannot modify header information - headers already sent by (output started at /home/freehost/new_encoded.php:23) in /home/freehost/new_encoded.php on line 14
从字面上来看,是MySQL的负载过大。我不知道它是说该台服务器的总体负载,还是论坛数据库的负载。即使是总体负载,也有可能有我的原因吧,不然这个论坛怎么马上就被封掉了,然后提示Website Under Review呢?可是,大哥,我才两个同时在线人数呢……不过,总归比GFW封网站好一点,毕竟000webhost还有相应的出错提示,不会像某堵巨大的墙一样,直接返回“浏览器找不到该网站”……
免费空间对数据库做很大限制是可以理解的,毕竟数据库的负载过大会拖慢大量的网站。同时,我又想,现有的数据库能不能做足够的优化,让较低的硬件就可以承载更多的数据访问量呢?MYSQL是典型的关系数据库,用SQL语言对数据内容进行查询和更新。关系数据库的好处不少,缺点也不少,但毕竟是现在的主流数据库模式,Oracle就是靠它成为顶级公司的。熟悉了SQL语言,用气关系数据库来很方便,再复杂的逻辑也不怕,大不了多建几个表就是了!使用起来方便了,数据库底层处理起来就复杂了。表与表之间复杂的关联性会消耗很多的系统资源。在并发性很高的情况下,关系数据库可能就撑不住了!所以,现在NoSQL数据库开始足够流行,Google的BigTable就是著名的例子。NoSQL的数据库也不是万金油,目前只能用于某些方面,但是它的可扩展性好,由于它简单的设计理念,可以让它同时运行在很多台廉价的PC服务器上,所以能够支持的并发IO量可以非常非常大。另外,NoSQL不容易处理那些复杂的逻辑关系,会迫使开发人员优化自己的设计。
论坛程序的局部数据频繁访问的特性也许现在不是很适合NoSQL的数据库,但是,性能优化永远是计算机发展的主题。希望000webhost能够优化自己的架构,把我的论坛还给我。暂时还不能抛弃MySQL,毕竟WordPress和Discuz!都得依靠它。
- No SQL
- No SQL
- SQL ? No SQL?
- 集合SQL以及NO-Sql
- NO “NO SQL” (一)
- NO “NO SQL” (二)
- Oracle SQL no parse
- No SQL DB初探
- No Sql Db Introduction
- mysql sql no cache
- No sql培训笔记
- Leetcode no. 181 (sql)
- No-SQL之Redis
- NoSQL No only SQL
- No Sql 简介
- No SQL ans rdbms learning
- NO-SQL数据库之一:MongoDB
- 读书笔记之《No-SQL精粹》
- 用VC++遍历目录
- 多Web应用跨域共享问题
- 提供一个免费的directui界面库(已开源)
- Asterisk 所有的通道变量名称
- 经典人生感悟
- SQL ? No SQL?
- SSIS 包保护级别
- 20岁跟对人,30岁做对事(一)
- error LNK2019: 未解决的外部符号
- Java 动态加载
- ACM试题分类
- MFC Timer实现
- 纯C++写的类似于VC对INI文件的读写操作(关于注释的暂时没有处理)
- mtu 获取