amoeba分布式数据库的安装与配置

上传人:第*** 文档编号:30598996 上传时间:2018-01-30 格式:DOC 页数:46 大小:7.09MB
返回 下载 相关 举报
amoeba分布式数据库的安装与配置_第1页
第1页 / 共46页
amoeba分布式数据库的安装与配置_第2页
第2页 / 共46页
amoeba分布式数据库的安装与配置_第3页
第3页 / 共46页
amoeba分布式数据库的安装与配置_第4页
第4页 / 共46页
amoeba分布式数据库的安装与配置_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《amoeba分布式数据库的安装与配置》由会员分享,可在线阅读,更多相关《amoeba分布式数据库的安装与配置(46页珍藏版)》请在金锄头文库上搜索。

1、Amoeba 小组说明文档本组成员:刘灿彬(组长) ,易莘秦,莫家峻1,Amoeba 概述Amoeba 是一个以 MySQL 为底层数据存储,并对应用提供 MySQL 协议接口的 proxy。它集中地响应应用的请求,依据用户事先设置的规则,将 SQL 请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求。与 MySQL 官方的 MySQL Proxy 相比,作者强调的是 amoeba 配置的方便(基于 XML 的配置文件,用 SQLJEP 语法书写规则,比基于 lua 脚本的MySQL Proxy 简单) 。Amoeba 相当于一个 SQL 请求的路由器,目的是为负载

2、均衡、读写分离、高可用性提供机制,而不是完全实现它们。用户需要结合使用 MySQL 的 Replication 等机制来实现副本同步等功能。amoeba 对底层数据库连接管理和路由实现也采用了可插拨的机制,第三方可以开发更高级的策略类来替代作者的实现。这个程序总体上比较符合 KISS 的思想。Amoeba(变形虫 )项目,该开源框架于 2008 年 开始发布一款 Amoeba for Mysql 软件。这个软件致力于 MySQL 的分布式数据库前端代理层,它主要在应用层访问 MySQL 的 时候充当 SQL 路由功能,专注于分布式数据库代理层(Database Proxy)开发。座落与 Cli

3、ent、DB Server(s)之间,对客户端透明。具有负载均衡、高可用性、SQL 过滤、读写分离、可路由相关的到目标数据库、可并发请求多台数据库合并结果。 通过 Amoeba 你能够完成多数据源的高可用、负载均衡、数据切片的功能,目前 Amoeba 已在很多 企业的生产线上面使用。随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用 已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:集中式处理,势必造成性 能瓶颈;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性 不高;集中式处理引起系统的规模和配置都不够灵活,系统

4、的可扩充性差。在这种形势下,集中式数 据库将向分布式数据库发展。而 Amoeba 的透明、简易配置及多个优点使其成为分布式数据库代理产品中的优秀选择。优势Amoeba 主要解决以下问题:a). 数据切分后复杂数据源整合b). 提供数据切分规则并降低数据切分规则给数据库带来的影响c). 降低数据库与客户端连接d). 读写分离路由f).支持分库,分表,事务不足a)、目前还不支持事务 b)、暂时不支持存储过程(近期会支持)c)、不适合从 amoeba 导数据的场景或者对大数据量查询的 query 并不合适(比如一次请求返回 10w 以上甚至更多数据的场合)d)、暂时不支持分库分表,amoeba 目前

5、只做到分数据库实例,每个被切分的节点需要保持库表结构一致:Amoeba:阿米巴原虫2,MySQLMySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策” ) ,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据

6、库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。MySQL 简介MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。背景MySQL 最初的开发者的意图是用 mSQL 和他们自己的快速低级例程(ISAM) 去连接表格。经过一些测试后,开发者得出结论:mSQL 并没有他们需要的那么快和灵活。这导致了一个使用几乎和 mSQL

7、 一样的 API 接口的用于他们的数据库的新的 SQL 接口的产生,这样,这个 API 被设计成允许为用于 mSQL 而写的第三方代码更容易移植到 MySQL。MySQL 这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有 10 年以上,而且不管怎样, MySQL AB 创始人之一的女儿也叫 My。这两个到底是哪一个给出了 MySQL 这个名字至今依然是个迷,包括开发者在内也不知道。MySQL 的海豚标志的名字叫“sakila” ,它是由 MySQL AB 的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者

8、 Ambrose Twebaze 提供。根据 Ambrose 所说,Sakila 来自一种叫 SiSwati 的斯威士兰方言,也是在 Ambrose 的家乡乌干达附近的坦桑尼亚的 Arusha 的一个小镇的名字。 2008 年 1 月 16 号 MySQL AB 被 Sun公司收购。而 2009 年,SUN 又被 Oracle 收购。就这样如同一个轮回, MySQL成为了 Oracle 公司的另一个数据库项目。应用环境与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,如规模小、功能有限(MySQL Cluster 的功能和效率都相对比较差

9、)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本。目前 Internet 上流行的网站构架方式是 LAMP(Linux+Apache+MySQL+PHP/Perl/Python )和LNMP(Linux+Nginx+MySQL+php/perl/Python) ,即使用 Linux 作为操作系统,Apache 和 Nginx 作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python 作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件

10、(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。系统特性1使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware 、OpenBSD 、OS/2 Wrap、Solaris 、Windows 等多种操作系统3为多种编程语言提供了 API。这些编程语言包括C、C+、Python 、Java、Perl、PHP 、Eiffel 、Ruby 和 Tcl 等。4支持多线程,充分利用 CPU 资源5优化的 SQL 查询算法,有效地提高查询速度 6

11、既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。8提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。 9提供用于管理、检查、优化数据库操作的管理工具。10支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11支持多种存储引擎。3.CentosCentOS(Community ENTerprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise

12、 Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同,在于 CentOS 并不包含封闭源代码软件。简介CentOS 6.4 放出下载1。上个版本是 2012-07-09 的 6.3.Redhat Enterprise Linux RHEL 6.4 是 2013-02-21 发布的。速度已经很快。上游 RHEL 6.4 主要改进:支持 Parallel NFS (pNFS),增强了 Vmware 和 Hyper-V 的虚拟机支持及性能,安全增强

13、了身份管理,支持 cgroups(及 PMU) ,更多的新工具等。CentOS 是一个基于 Red Hat Linux 提供的可自由使用源代码的企业级 Linux发行版本。每个版本的 CentOS 都会获得十年的支持(通过安全更新方式) 。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。2CentOS 是 Community Enterprise Operating System 的缩写。CentOS 是 RHEL(Red Hat Enterpri

14、se Linux)源代码再编译的产物,而且在 RHEL 的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。RHEL 在发行的时候,有两种方式。一种是二进制的发行方式,另外一种是源代码的发行方式。无论是哪一种发行方式,你都可以免费获得(例如从网上下载) ,并再次发布。但如果你使用了他们的在线升级(包括补丁)或咨询服务,就必须要付费。3CentOS 中文论坛 聚集了许许多多 CentOS 系统工作和学习者,是国内一个专门讨论 CentOS 技术的论坛。特点1可以把 CentOS 理解为 Red Hat AS 系列!它完全就是对 Red Hat AS 进行改进后发

15、布的!各种操作、使用和 RED HAT 没有区别!2CentOS 完全免费,不存在 RED HAT AS4 需要序列号的问题。3CentOS 独有的 yum 命令支持在线升级,可以即时更新系统,不像 RED HAT 那样需要花钱购买支持服务!4CentOS 修正了许多 RED HAT AS 的 BUG!5CentOS 版本说明:CentOS3.1 等同于 RED HAT AS3 Update1 CentOS3.4 等同于 RED HAT AS3 Update4 4.CentOS4.0 等同于 RED HAT AS4 与 RHEL 的关系RHEL 在发行的时候,有两种方式。一种是二进制的发行方式

16、,另外一种是源代码的发行方式。无论是哪一种发行方式,你都可以免费获得(例如从网上下载) ,并再次发布。但如果你使用了他们的在线升级(包括补丁)或咨询服务,就必须要付费。RHEL 一直都提供源代码的发行方式,CentOS 就是将 RHEL 发行的源代码重新编译一次,形成一个可使用的二进制版本。由于 LINUX 的源代码是 GNU,所以从获得 RHEL 的源代码到编译成新的二进制,都是合法。只是 REDHAT 是商标,所以必须在新的发行版里将 REDHAT 的商标去掉。REDHAT 对这种发行版的态度是:我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。 所以,CentOS 可以得到 RHEL 的所有功能,甚至是更好的软件。但 CentOS 并不向用户提供商业支持,当然也不负上任何商业责任。如果你要将你的 RHEL 转到 CentOS 上,因为你不希望为 RHEL 升级而付费。当然,你必须有丰富 linux 使用经验,因此 RHEL 的商业技术支

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号