`
csrcom
  • 浏览: 13132 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Amoeba:分布式数据库Proxy解决方案

阅读更多
Amoeba:分布式数据库Proxy解决方案

随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用
已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:集中式处理,势必造成性
能瓶颈;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性
不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。在这种形势下,集中式数
据库将向分布式数据库发展。
分布式数据库系统的优点:
1、降低费用。分布式数据库在地理上可以式分布的。其系统的结构符合这种分布的要求。允许用
户在自己的本地录用、查询、维护等操作,实行局部控制,降低通信代价,避免集中式需要更高要求
的硬件设备。而且分布式数据库在单台机器上面数据量较少,其响应速度明显提升。
2、提高系统整体可用性。避免了因为单台数据库的故障而造成全部瘫痪的后果。
3、易于扩展处理能力和系统规模。分布式数据库系统的结构可以很容易地扩展系统,在分布式数
据库中增加一个新的节点,不影响现有系统的正常运行。这种方式比扩大集中式系统要灵活经济。在
集中式系统中扩大系统和系统升级,由于有硬件不兼容和软件改变困难等缺点,升级的代价常常是昂
贵和不可行的。
Amoeba在分布式数据库系统充当什么角色?

Amoeba在分布式数据库领域将致力解决数据切分,应付客户端“集中式”处理分布式数据。这
儿集中式是一个相对概念,客户端不需要知道某种数据的物理存储地。避免这种逻辑出现在业务端,
大大简化了客户端操作分布式数据的复杂程度。

更详细的内容请下载
http://amoeba.sourceforge.net/amoeba.pdf
分享到:
评论
4 楼 grantbb 2009-04-24  
看过amoeba的文档之后,有几个问题请教一下:

1.假如我要用到线上环境,那么做水平拆分,应该要求现在的应用就要不能用 join 那些要进行水平拆分的表。

2.如果水平拆分后,数据在写入的时候,是如何进行处理的?主要是insert的时候,是由那块决定写入那张表中?

希望能够得到答复,谢谢。
3 楼 sdh5724 2008-11-02  
这个项目适合的场景是大规模的用户特定数据。 因此, 所有的join是没有意义的。
当初, 我们讨论这个东西的时候, 就是大规模的并发下, 数据是绝对不允许做任何形式的join的。

如果大家想象, 一个表有上10亿条数据的WEB应用表, 并且有上5000W以上的访问, 那么这个项目的意义就非同寻常了。

每个设计都有他的特定使用范围, 讨论过多的应用没有实际意义, 不然这个世界早就充满各种设计了, ORALCE也早就搞出大规模可分布式的数据库了。
2 楼 csrcom 2008-10-20  
bottom 写道
对数据库的水平切分,是不是只适用于没有外键连接的表?如果有外键,就必须放在同一数据库里?(我觉得这两个问题也是多余的。有外键的话,肯定只能放在一个数据库里)

如果一个数据库,所有表都有连接,那就不能用水平切分,只能作垂直切分了。


这个需要看DBA以及架构部门来规划你们的数据库了.

1 楼 bottom 2008-09-04  
对数据库的水平切分,是不是只适用于没有外键连接的表?如果有外键,就必须放在同一数据库里?(我觉得这两个问题也是多余的。有外键的话,肯定只能放在一个数据库里)

如果一个数据库,所有表都有连接,那就不能用水平切分,只能作垂直切分了。

相关推荐

    amoeba配置详解

    Amoeba:分布式数据库Proxy解决方案 随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用 已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:集中式处理,势必...

    amoeba[1]分布式数据库解决方案.pdf

    amoeba[1]分布式数据库解决方案.pdfamoeba[1]分布式数据库解决方案.pdf

    amoeba分布式数据库解决方案

    Amoeba在分布式数据库领域将致力解决数据切分,应付客户端“集中式”处理分布式数据。这 儿集中式是一个相对概念,客户端不需要知道某种数据的物理存储地。避免这种逻辑出现在业务端, 大大简化了客户端操作分布式...

    分布式数据库架构及企业实践——基于Mycat中间件

    在系统越来越庞大,技术越来越复杂,应用部署集群化,所有压力全部指向数据库,数据量巨大,数据库优化也到极限了,数据库的运维难以为继,在这种情况下,分布式数据库似乎成为唯一的解决方案。为了解决传统数据库的...

    基于Amoeba中间件的分布式数据库管理系统.pdf

    #资源达人分享计划#

    amoeba-mysql-1.0.2-BETA.zip_SQL 高并发_mysql-proxy java_代理_分布式java_

    Amoeba属于分布式数据库代理开发框架,专注于分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户 端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请 求...

    Amoeba for mysql

    Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性...

    amoeba-mysql-binary-2.2.0.tar.gz

    Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性...

    amoeba.pdf

    介绍Amoeba Amoeba在分布式数据库领域将致力解决数据切分,应付客户端“集中式”处理分布式数据

    amoeba-mysql

    Amoeba在分布式数据库领域将致力解决数据切分,应付客户端“集中式”处理分布式数据

    windows平台用amoeba实现读写分离

    处于在应用和数据库之间,对客户端透明,它主要在应用层访问MySQL的时候充当SQL路由功能,解析应用传递过来的SQL语句,专注于分布式数据库代理层(Database Proxy)开发。具有负载均衡、高可用性、SQL 过滤、读写...

    amoeba:Amoeba 服务的 API

    Amoeba Amoeba 是一套消除开发测试过程中对上游 API 依赖的解决方案。

    GA4AMOEBA:基于AMOEBA函数形式的可极化力场参数优化的遗传算法(GA)程序

    GA4AMOEBA 这是一个基于AMOEBA函数形式( )的用于优化可极化力场参数的机器学习(ML)遗传算法(GA)程序。 它是一个MPI程序,可以在高性能计算机上执行。 如果您对代码有任何疑问,请联系或 。 如果您想使用该代码...

    数据库代理 “变形虫”---amoeba

    Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求...

    amoeba技术描述

    amoeba作为分布式处理分发给数据库进行相应处理,进行读写分离

    amoeba:设计用于自举书签的微型 API

    Amoeba 是根据以下假设得出的: 较小的尺寸比功能更重要。 现有的库太大,也可能与其他脚本发生冲突。 只需要支持现代浏览器(IE9+); 用户应该是中级到高级用户。 目前,缩小和压缩后的重量仅为2Kb。 _阿米巴 ...

    详解如何利用amoeba(变形虫)实现mysql数据库读写分离

    关于mysql的读写分离架构有很多,百度的话几乎都是用mysql_proxy实现的。由于proxy是基于lua脚本语言实现的,所以网上不少网友表示proxy效率不高,也不稳定,不建议在生产环境使用;... amoeba: 172.22.10.237:80

    Amoeba:用于移动设备的上下文敏感上下文感知服务

    Amoeba - 用于移动设备的上下文敏感上下文感知服务

    amoeba:用纯C语言实现的Cassowary约束求解算法

    如何使用此库导出约束求解器接口,要解决约束问题,您应该分步使用它: 创建一个新的求解器: am_newsolver() 创建一些变量: am_newvariable() 创建一些可能使用变量的约束: am_newconstraint() 通过使用以下公式...

Global site tag (gtag.js) - Google Analytics