分布式数据访问与同步场景浅析(Simple Ideas on Distributed Data Manipulation
Things)
其实不想说这东西, 因为我也不知道正宗不正宗,完善不完善, 而且, 往简单了说,就2点, 简单的要死,
不过,我感觉我要真的不说,有些人可能也真的不知道我在说什么,而且今天有点儿小破事儿, 也促使我
就此
“嚼嚼舌头
”
。当然一家之言, 看官自己掂量。
随着应用数据规模的增长, 相应的数据库集群自然而然的浮出水面, 进而,
为了应用和管理位于这些数据库集群中的海量数据,你通常会提供一个分布式的数据访问层,
由这一层来屏蔽分布式环境下数据库集群的数据访问复杂度,此为一;另外,你要保证系统的高可用性, 或许会对数据库集群整体或者某些节点进行备份,
这些备份或许发生在在同一个数据中心,或许发生在位于不同地理区域内的数据中心,
因此,你或许会寻求数据复制技术来达此目的,此为二;另外,面对海量的数据,不同的应用有不同的使用角度,如何将同一份数据有效的分发给不同的应用来使用,也是需要你来考虑的问题。
要处理这些东西, 我们可以以数据存储为中心, 从前面和后面两个角度来解决。 Just like this:
1. FK Data Store From The Front
不用说大家都知道, 要做数据访问(不管他是不是分布式的), 指定得从数据存储前面进行。 分布式的数据访问解决方案大都如此,
要是我漏了啥,欢迎补充,呵呵。
尽管都是为了做分布式的数据访问, 大家的具体解决方案可能会稍有不同, 比如,
我们的DAL或许只是一个简单的jar随应用一同部署, 又或许我们的DAL是一个独立的服务, 比如MySQL Proxy, Ameoba等。
不过, DAL不单单就这点儿料儿, 我们还可以让它帮我们做数据同步与数据备份之类的事情, 打个比方,
在做数据访问的同时,我们可以将同一笔数据的更新分发给其它服务节点, 这包括(但不限于):
当然,
从DAL这一层或者说数据存储前端处理我们之前提到的那些关注点,最好提前对整个系统的状况进行评估,以便DAL的设计可以在后期不会受到很大的冲击。而且,像避免DAL成为单点之类的HA关注点,也都是需要在设计DAL的时候要考虑的。
2. FK Data Store From The Backend
从数据存储服务的屁股后面当然没法做数据访问啦,但我们可以做除了数据访问之外的事情,比如我们在前面提到的一些功能,像实时构建search
index啦, 数据的备份啦之类。
那么如何从数据存储服务的屁股后面扣东西那? 以RDBMS为例, 大部分vendor的产品都会包含事务日志的记录,
比如Oracle的redo log, MySQL的binlog等,
数据库会将数据的变更记录到他们相应的事务日志中,而我们也就可以通过监听相应事务日志的变化来获取数据的变化,
拿到这些数据的变化,你还用担心不知道怎么用它们吗?
不过这种方式有些时候也不见得行得通,
像MySQL这样开源的数据库,它的内部实现以及协议之类的资料都可以找到,这种方式显然行的同;而像Oracle这样的商业产品,
它的内部实现以及相关协议是不公开的,
要强行走这条路,你或许要花费很大的力气去hack它的内部协议,而且还不见得最终hack出来的东西完全正确。
总之, 有些路并非总是一路坦途,呵呵
应该说, 这两个角度的方案都不见得尽美, 但合适的场景选择合适的方案, 甚至结合起来使用, 这些方案完全可以帮助你达成目标。
What do u think about what I said? bullshit(fucking easy)? or
something that's
useful to you? Your feedback will be welcome.
- 大小: 30.6 KB
分享到:
相关推荐
Cobar Client是一个轻量级分布式数据访问层(DAL)基于iBatis(已更名为MyBatis)和Spring框架实现。主要特性:可以支持垂直和水平数据切分数据库集群的访问;支持双机热备的HA解决方案, 应用方可以根据情况选用数据库...
第三届阿里巴巴中间件性能挑战赛复赛程序——模拟阿里双十一分布式数据同步 第三届阿里巴巴中间件性能挑战赛复赛程序——模拟阿里双十一分布式数据同步 第三届阿里巴巴中间件性能挑战赛复赛程序——模拟阿里双十一...
#资源达人分享计划#
信息处理系统:光纤分布式数据接口(FDDI)第二部分:令牌环媒体访问控制(MAC)GB16678.2-1996.PDF 信息处理系统:光纤分布式数据接口(FDDI)第三部分:令牌环物理层媒体相关部分(PMD)GB16678.3-1996.PDF 信息...
分布式数据处理.doc 分布式数据处理.doc 分布式数据处理.doc
关于分布式异构数据库数据同步系统的研究PDF版本
为实现槽波地震数据采集系统中各个采集终端之间及同一采集终端2个通道之间的同步,设计了一种分布式的双通道槽波地震数据同步采集系统。该系统采用弱信号调理电路提高地震信号的信噪比,采用八通道同步采样芯片实现了...
#资源达人分享计划#
基于Ajax技术的分布式虚拟现实可交互场景构建方法研究——以北京市海淀区五道口城区模型为例,邓婧,郑新奇,数字地球的发展已对社会生活的各个方面产生了巨大影响。围绕数字地球开展的一系列卓有成效的工作受到了...
在现代企业互联网应用中,分布式数据缓存技术能够减少对数据库层的访问负载量, 提高系统的整体性能,在系统架构中发挥着重要作用。本文针对现有的分布式数据缓存产品 在数据冗余备份和失败恢复方面的不足,设计并...
分布式异构数据库数据同步工具.pdf
后续还将提供更多的数据源支持、数据转换UDF、表结构同步、数据同步血缘等更为复杂的业务场景;DataX集成可视化页面,选择数据源即可一键生成数据同步任务,支持批量创建RDBMS数据同步任务,集成开源调度系统,支持...
分布式数据挖掘简介,两个典型的分布式数据挖掘系统,分布式数据挖掘系统的特点探讨 。
分布式多数据库数据同步ERP应用案例
#资源达人分享计划#
.基于_GPS_技术实现分布式数据同步采集系统
各行各业的数据处于分布式的计算机系统中,为了解决这些网络环境中异构数据库数据共享和协作问题,文章从电子政务交换平台中的数据访问这个角度对数据访问中间件进行探讨,提出了基于XML中间件技术实现分布式数据库之间...
基于flink的分布式数据同步框架
网络时间协议实现分布式系统内时钟同步的原理分析.
分布式文件访问和操作指南