分类目录归档:web技术

web 网页开发技术,CSS/HTML/HTML5/Javascript 等

2.为什么要使用 CUBRID

先来问问您自己一个问题:

CUBRID is FREE & POWERFUL Database with ENTERPRISE level features您或您的公司是否需要一个具备企业级功能的免费并且功能强大的数据库系统?

如果您回答“是”,那么 CUBRID 可能就是您要的数据库解决方案!

免费 开源是当今世界的选择

使用 CUBRID 是免费的。它是一个根据通用公共许可证(GNU)条款发布的开源数据库管理系统。对于企业来说,CUBRID 可以使其显著地节约总拥有成本(TCO)。这是 85% 的公司在选择软件解决方案时最为看重的。不用花钱在其它数据库管理系统解决方案上,而是专注于使用 CUBRID 来提升服务。

功能强大 整洁的架构以及带有性能优势的丰富功能

您是否一直在找不受限的性能?

CUBRID 比其它流行的替代方案更快。它为高访问量网站设计和优化。有了 CUBRID,您不再需要担心数据的快速增长。其独特的多进程架构和多线程服务器实现能很好地处理数据增加和用户量的增长。不再限制数据库数量,表数量或记录数量。

Enjoy CUBRID’s competitive performance with Solid State Disk (SSD), the latest breakthrough in the data storage market. Take advantage of CUBRID’s optimizations such as Click Counter, fast concurrent insertions, query plan caching and query results caching to serve your high-traffic sites with minimal server resource usage.

Enterprise
unique features
for stability
and reliability

CUBRID provides enterprise level features such as High-Availability (HA), Database Sharding, Hot/Online Backup as well as Offline and Incremental Backups. Each can be scheduled and adjusted based on your needs.

You will have a database solution which supports distributed transaction, various replication methods such as online, synchronous/asynchronous, one-way, transaction-level, schema independent, chained or grouped replications. With High Availability (HA) feature, enjoy uninterruptible, 24/7 database server uptime. Database Sharding will make it seamless to distribute your data to multiple servers. And all in one CUBRID Database!

Want to learn more? Check out CUBRID’s Key Features.

用 UNION 解决 proftpd:mod_quotatab_sql.c 不能设置默认配额的问题

项目中碰到给注册用户分配一个 FTP 空间的需求,用户都是保存在 MYSQL 数据库中。

首先就想到用  proftpd + mod_sql 来解决。因为 proftpd 是久经考验的开源 FTP 服务器软件,而且代码模块清晰,必要时还可以自己修改代码。

其中的 quota 模块是基于“用户”定制,针对每个用户创建一条配额记录,却不能为全部用户设置一个默认的配额。这样对于一个已经有大量注册用户的项目颇为麻烦,又不想遍历用户列表为其创建一条配额记录。经实验可以用以下方法为每个用户默认分配 512MB 的空间限额:


SQLNamedQuery get-quota-limit SELECT "* FROM ftp_quota_limits WHERE name = '%{0}' AND quota_type = '%{1}' UNION SELECT '%{0}','user','false','soft',536870912,0,0,0,0,0 LIMIT 1"

通过 MySQL 的 UNION 加上 LIMIT 1 顺利解决。

1.关于 CUBRID

大体上,CUBRID 是一个全面的开源关系数据库管理系统且针对 WEB 应用做了高度优化,尤其是那些需要处理海量数据和巨大并发请求的复杂 WEB 服务。

www.slideshare.net/cubrid/growing-in-the-wild-the-story-by-cubrid-database-developers

具体而言,CUBRID 采用 C 语言编程实现。它是可扩展的,是一个与 MySQL 几乎完全兼容的高性能数据库系统。CUBRID 是一个具有独特架构和丰富功能的系统。其高可用性功能,同步/异步/半同步复制 (Replication),在线增量备份,和许多其它企业级功能使得 CUBRID 成为 WEB 服务的一个可靠解决方案。通过独特的功能优化,CUBRID 能够在更少的响应时间内处理更多的并行请求。

在线杂志 Method & Tools 最近发表了一个伟大故事般的关于CUBRID 介绍性文章。我们推荐你去阅读它。文章中简短地介绍了 CUBRID 的功能,有关如何快速入门,以及总结了一些有用和重要的建议。享受阅读吧!


为什么选择 CUBRID

CUBRID 开发始于 2006 年,如今它正变得非常受欢迎因为其清晰和为 WEB 应用高度优化的软件体系结构,以及丰富的数据库功能。它的代码库进行了全面的优化和严格的质量保证。CUBRID 被需要中小企业和大机构采用,后者有超过 10,000 台数据服务器。(参见:谁在使用 CUBRID

CUBRID,不同于其它数据库系统,没有企业版。它不区分社区和企业之间的许可策略。只有一个版本的 CUBRID 数据库管理系统,它遵循 GPLv2(通用公共许可证第二版)或更高版本。CUBRID 的这一开源策略对于客户端程序开发公司极为有利。他们不需要购买任何企业许可证或分出他们的收入。为机构在选择数据库管理系统替代方案时提供显著节约成本的机会。(参见完整文章:CUBRID 开源许可政策

一个基于 CUBRID 的数据库解决方案的总拥有成本(TCO)比其它替换方式显著节约硬件成本。CUBRID 的高性能,它的优化和完美塑性意味着机构可以为同样的并发用户数部署更便宜的硬件并且同样维持 7×24 不间断的服务。(注:本段意译可能有些不到位,见谅)

了解更多


谁在使用 CUBRID

在线社交游戏,著名的 基于 Web 的文字处理器,以及众多的 企业站点 均依托于 CUBRID 数据库。它还应用于一些 NHN 上最流行的 WEB 应用,韩国第一搜索门户拥有 3400 万用户每天 1700 万的独立访客。

此外,大型主机托管公司 Cafe24 和 Mireene,软件安全公司 ESTsoft,以及许多韩国地方高效都采用 CUBRID 管理他们的数据。

三分之二的 CUBRID 引用来自政府部门。韩国国税厅Korea Ministry of Public Administration and SecurityKorea Ministry of National DefenseBusan Transportation Corporation,以及韩国白宫都是采用 CUBRID 作为他们的数据库管理软件。试想一下,他们有多少敏感数据,他们有多少安全需求,他们都依托于 CUBRID。CUBRID 帮助许多机构以较低的拥有成本实现更大的效益和性能。

NHN Corporation Cafe24 MireeneESTsoft Korea National Tax Service Korea Ministry of Public Administration and Security Korea Ministry of National DefenseBusan Transportation Corporation Korea White House

查看 CUBRID 用户的完整列表


关于 CUBRID 的更多信息

您也可以在其它语言中找到关于 CUBRID 的更多信息。


下载 CUBRID

http://www.cubrid.org/downloads

CUBRID 真正的开源并且免费。请随意下载。

如果您有任何问题,请使用我们的 Q&A 站点,论坛,Twitter 或 Facebook。

 

原文地址:http://www.cubrid.org/about

CUBRID – 一款可用来代替 MySQL 的开源数据库

最近在学习 Yii2 的时候发现了一个新的开源数据库 cubrid,官网:http://www.cubrid.org 。

据官网称它是全功能的 SQL 关系数据库,而且特别为高并发高负荷的 WEB 站点而优化设计,提供了很多只有大型商业数据库才支持的功能(多机热备、分布式事备等)。官网的各类评测也都是直接瞄准 MySQL。

手上正准备重新架构一个新的 WEB 项目,看到 cubrid 的介绍有点心动,也提供 PHP 的访问扩展。但毕竟太新了,没发现有任何中文文资料和使用心得,打算接下来从官网的文档了解起来,顺便译成中文,与有兴趣的人士共同学习交流。

第一次翻译文档,有点紧张,英文水平有限不当之所在所难免;速度可能也不快,尽量争取吧!

通过 javascript load 另一个 script 文件所碰到的问题

在 web 开发中,出于跨域同步、远程调用等目的,经常需要在网页中通过 script 加载另一段远程 script。

最常用最简单的方法就是直接用 document.write 输出加载脚本的 HTML,如下:

document.write('<script src="http://somehost/path/to/script.js" type="text/script"></' + 'script>');

通常来说用这个方法是没有什么问题的,但是最近在帮人分析整合 phpcms 与 discuzx 同步登录时,发现在 discuzx 登录后无论如何也没能让 phpcms 同步登录。

原因是 dz 的登录采用的是 ajax 方式,ucenter 返回的同步代码就是用上面方法向所有 APP 发起一次 JS 请求模拟登录。phpcms 自身又有一套 phpsso 的单点登录体系,它收到请求后又需要分发给更多采用 phpsso 的 APP,于是它又生成一堆如上方法的 script 输出给最终用户。

但到了最终用户这儿,由于是 ajax 异步加载的,大概算是 BUG,再次输出的 document.write(‘<script..></script>’) 不执行,造成无法同步。

目前的解决方法是在第二次需要加载 js 请求时,换用以下方式:

var s = document.createElement('script');
s.setAttribute("type","text/javascript");
s.setAttribute("src", "http://somehost/path/to/script.js");
document.body.appendChild(s);

顺便提一下,曾经看到过文章说用 document.body.appendChild 在 IE 下有时会卡死,建议改用:

document.getElementsByTagName("head")[0].appendChild(s);

[AJAX] xmlHTTP 取数据时老显示缓存的解决方案之一

xmlhttp对像(即ajax)可以方便的在浏览器中无刷新闪屏在后台取回数据,配合DHTML方法更新网页

但大家都碰到的应该是多次调用时它却总是显示缓存页面, 如果后端是 php ,尝试在 php 中加入相应的

http头明确不要缓存, 好像也没什么效果!!

现在终于找到一个办法啦,就是在 xmlhttp.open 之后发送一个特定的头即可, 简约代码如下…

xmlhttp.setRequestHeader('If-Modified-Since', '0');

希望对你有用