fountain

同步 MySQL 数据库增量变化
授权协议 Apache-2.0
开发语言 Java
所属分类 数据库相关、 数据库调整和优化
软件类型 开源软件
地区 国产
投 递 者 郭乐湛
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Fountain是监查、捕捉MySQL数据库的增量变化,分发数据变化给消费者处理的一套解决方案。

任何需要快速、准确接收MySQL数据变化增量的场景均适用,例如

  • 广告传输流:输出到本地增量文件

  • 数据同步:可数据库同构复制,也可以跨异构数据源sync,比如MySQL到一些NoSQL,例如redis、mongodb,或者es、solr等提供搜索服务,或者MQ如bigpipe、RabbitMQ。

  • 缓存失效:数据变化收敛到MySQL,利用增量变化触发memcache或者redis缓存失效。

  • 数据监控:监控数据库中的异常数据,攻击行为数据。

  •  历史操作记录:数据库业务变化,同步到另外的数据库表,供查询操作记录

  •  其他你所想到场景...

Fountain支持MySQL的row base binlog协议,稳定测试版本支持MySQL5.1-5.6。

特点:

  • 简单易用
  • 快速部署
  • 处理高效率,低延迟
  • 提供丰富的接口和内部重构实现,用户可以选择使用转换实现也可以自己定制,支持高度定制,符合开闭原则的设计原则。
  •        喷泉码可以理解为通过构造数据冗余来避免数据丢失,也就是说将数据分成很多段,部分片段 里面的信息量就能对原始数据的信息量进行很好的表达,接收方接收到部门数据片段后就能还原出完整的数据。        这种编码的发送端可以由k个原始分组生成任意数量的编码分组,接收端只要收到其中 任意(1+ε)k个编码分组,即可通过译码以高概率成功恢复全部原始分组,精心设计的数字喷泉码不 仅拥有很小的译码

  • 数字喷泉码概念由Luby等人于1998年首次提出,但当时并未给出实用数字喷泉码设计方案。2002年,Luby提出了第一种实用数字喷泉码——LT码。之后,Shokrollahi又提出了性能更佳的Raptor码,实现了近乎理想的编译码性能。在学术理论日渐完善的同时,数字喷泉码也日益受到产业界的关注,获得了越来越多的应用。      所谓数字喷泉码,是指这种编码的发送端可以由k个原始分组生成任意数量的编

 相关资料
  • 背景 : 从库Pika得到主库的全部DB结构,接下来以partition维度做Trysync,如果从库确认可以增量同步,从库将以partition为维度进行增量同步。默认使用pika port+2000的端口进行增量同步。 Binlog 结构: Pika的主从同步是使用Binlog来完成的,一主多从的结构master节点也可以给多个slave复用一个Binlog,只不过不同的slave在bingl

  • 问题内容: 我们正在多家商店中运行带有MySql后端的Java PoS(销售点)应用程序。我想保持商店中的数据库与主机服务器上的数据库同步。 商店中发生某些更改时,应在主机服务器上对其进行更新。我该如何实现? 问题答案: 复制不是很难创建。 这里有一些很好的教程: http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-data

  • 5.8.1.1 Elasticsearch 安装 安装 logstash ElasticSearch中 logstash安装和logstash-input-jdbc插件 安装 logstash-input-jdbc插件 logstash-plugin install logstash-input-jdbc # 在有网点环境下安装,将安装插件后的 logstash 拷贝到内网环境即可使用。 编辑

  • “同步到数据库”功能让你比对物理模型和现有数据库或模式,显示它们之间结构的差异,并提供同步模型的结构到目标连接。 Navicat 提供一个向导,一步一步指导你完成任务: 选择“文件”->“同步到数据库”。 选择源数据库、模式,然后从现有的连接中选择目标连接、数据库、模式。 点击“选项”并选择比对或高级选项。 点击“比对”以显示源对象和目标对象之间的差异。 选择要同步的对象。 点击“部署”以生成一组

  • “同步到数据库”功能让你比对模型和现有数据库或模式,显示它们之间结构的差异,并提供同步模型的结构到目标连接。 Navicat 提供一个向导,一步一步指导你完成任务: 选择“文件”->“同步到数据库”。 选择源数据库、模式,然后从现有的连接中选择目标连接、数据库、模式。 点击“选项”并选择比对或高级选项。 点击“比对”以显示源对象和目标对象之间的差异。 选择要同步的对象。 点击“部署”以生成一组脚本

  • “同步到数据库”功能让你比对物理模型和现有数据库或模式,显示它们之间结构的差异,并提供同步模型的结构到目标连接。 Navicat 提供一个向导,一步一步指导你完成任务: 选择“文件”->“同步到数据库”。 选择源数据库、模式,然后从现有的连接中选择目标连接、数据库、模式。 点击“选项”并选择比对或高级选项。 点击“比对”以显示源对象和目标对象之间的差异。 选择要同步的对象。 点击“部署”以生成一组

  • 问题内容: 我有一个mysql数据库表,该表需要与ElasticSearch索引保持一致。我已经将表从表导出到es索引,但是现在我需要保持数据同步,否则搜索将很快变得过时。 我能想到的唯一方法是每隔X分钟导出一次表,然后将其与上次导入的表进行比较。这是不可行的,因为该表大约有1000万行,而且我不想整天每五分钟进行一次表导出。有什么好的解决方案?请注意,我仅具有对数据库的读取权限。 问题答案: 我

  • 我正在尝试使用基于Kafka Connect的Confluent在几个MySQL数据库之间同步数据。我在源连接器配置中使用了“批量”作为模式,因为主键类型是 varchar,所以我无法使用递增模式。它工作正常,但我遇到了两个问题: 似乎它无法同步删除,当源数据库中的数据被删除时,接收器数据库没有任何变化。数据仍存在于接收器数据库中。 同步数据需要相当长的时间。就我而言,同步具有 2~4k 行的表大