Comments (5)
Hi @RVN-BR
I know that ES will discard river feature, but this doesn't affect GME, because I don't use river feature at all.
GME is a service acting as a MySQL slave to sync MySQL binlog and then update the data changes into ES with ES http bulk API.
Btw, if you want to sync MySQL binlog and write the changes into logstash, you can use my another project github.com/siddontang/go-mysql, you can use the canal package to sync binlog and write the json format changes in a place which logstash can get.
from go-mysql-elasticsearch.
@siddontang Makes perfect sense! I didnt realize GME was using bulk api and not river api... I guess thats future-proof then :)
Thanks
from go-mysql-elasticsearch.
Hi @RVN-BR
Thank you reminding me, maybe we can build another repository named go-mysql-logstash, it will sync the mysql data and then write the json format in a place.
But I haven't used logstash, so I don't know the proper format the logstash needs.
from go-mysql-elasticsearch.
@siddontang It appears it shouldnt be an issue to configure from the format files in GME to get the appropriate mappings...
I'm now been investigating another interesting and promising project called Crate.io, built on top of ES, but which is more SQL-esque. It allows me to use ES but also to query some data in a structured fashion where it makes more sense. I'm looking into making a driver for GME for crate. It shouldnt be too difficult... crate has a bulk api too, it differs a bit in format from ES, but I'm going to poke around a bit of GO and see if I can eventually try something...
In theory, one can insert straight to ES, but Crate does its own internal type, id, etc mapping which may be difficult or impossible to reproduce statically, so it may be best to try to do it straight to the crate api... https://crate.io/docs/stable/sql/rest.html#bulk-operations
anyways, I am thinking crate may be useful... I'm thinking abt using it as a "bridging gap" for when some things need to be quickly shifted from mysql into a more search-esque backend :) GME might be a great tool to keep the data in sync. At the same time we can still use logstash and other great tools on ES, as well as having a running ES cluster... win win 👍
from go-mysql-elasticsearch.
Thanks @RVN-BR, I will look it later. :-)
from go-mysql-elasticsearch.
Related Issues (20)
- 同步过程中服务老是出现停的情况,错误 [error] river.go:315 start canal err ERROR 1236 (HY000): A slave with the same server_uuid/server_id as this slave has connected to the master; the first event 'mysql-bin.000470' at 775402324, the last event read from './mysql-bin.000470' at 882910125, the last byte read from './mysql-bin.000470' at 882910125. HOT 1
- es 7 使用 Parent-Child Relationship
- how can I sync mysql which in docker container to elasticsearch?
- binlog error on restart (invalid character 'R' after top-level value)
- 执行exe同步报错 invalid sequence 8!=1 HOT 2
- 多个子表聚合到一个index
- 能支持dockerfile
- 能否同步one-many嵌套表作为对象关联 到es中?需要怎么配置
- 无法实现同步
- 你好,同步报错如下:sync.go:156 do ES bulk err invalid character '<' looking for beginning of value, close sync HOT 1
- mysql8 mysqldump出错 HOT 1
- 阿里云/腾讯云 mysql to es WITH MAX_USER_CONNECTIONS 10000 HOT 1
- mysql,datetime字段同步到ES的date字段,会变成加8时区的格式 HOT 1
- How do I connect to an ES cluster HOT 1
- Startup error
- start canal err line 1 column 29 near "ON *.* FROM 'root'@'%'"
- go mod tidy HOT 1
- MySql int filed to ES text filed.
- panic: runtime error: index out of range [16] with length 16
- 同步es8需要删除client.go 文件的type字段检测 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-mysql-elasticsearch.