I want to capture data changes from few tables in a huge PostgreSQL database. Initially I planned to use the logical decoding feature with Debezium. But this solution has significant overhead since it's necessary to decode the entire WAL. Another solution uses triggers and PgQ. Is there any general way to integrate PgQ with Kafka or perhaps a Kafka connector for this purpose?
What is the best way to read from PgQ to Apache Kafka?
353 Views Asked by Iskuskov Alexander At
1
There are 1 best solutions below
Related Questions in POSTGRESQL
- Why does adding a JOIN completely modify the query planner behaviour?
- When dealing with databases, does adding a different table when we can use a simple hash a good thing?
- Aggregate and count in PostgreSQL
- Rails HABTM: Select everything a that a record 'has'
- Trigger using data from inserted row
- Select results where joined table contains records with an attribute, but without another
- DB candidate as CouchDB/Schema replacement
- How do I properly add data in SQLAlchemy?
- Postgres in Conda Environment (Ubuntu 14.04)
- How to customize the output of the Postgres Pseudo Encrypt function?
- Split a large query (2 days) into pieces to increase the speed in Postgres
- Why does pg_search prefix not work like I expect?
- extracting meta info from a table psql using information_schema
- How to query a table in the database and copy it's data into one one?
- Update a table using info from a second table and a condition from a third table in Postgresql
Related Questions in APACHE-KAFKA
- Spark streaming + kafka throughput
- How to diagnose Kafka topics failing globally to be found
- kafka: what do 'soTimeout', 'bufferSize' and 'minBytes' mean for SimpleConsumer?
- Fail to create SparkContext
- Syntax error on tokens, delete these tokens - kafka spring integration demo application
- How could Kafka 0.8.2.1 with offsets.storage=kafka still require ZooKeeper?
- Message Queues: Per Message Guarantees
- How should a Kafka HLC figure out the # of partitions for a topic?
- Kafka multiple consumers for a partition
- Should Apache Kafka and Hadoop be installed seperatedly (on a diffrent cluster)?
- how does one combine kafka-node producer and node tail?
- How to fix NoClassDefFoundError with custom Kafka producer under Eclipse?
- Apache Samza's CheckpointTool won't give away partition offsets
- Offsets for Kafka Direct Approach in Spark 1.3.1
- Simulate kafka broker failures in multi node kafka cluster and what operations and tools to use to mitigate data loss issues
Related Questions in APACHE-KAFKA-CONNECT
- How could we tail oplog from a secondary mongodb node in a replica set with debezium kafka connector?
- Second and Third Distributed Kafka Connector workers failing to work correctly
- Kafka connect Insert Into field with analyzer
- Kafka Connect with MongoDB Connector
- How can I programmatically/dynamically create data pipelines that include workers using Kafka and Java?
- Kafka Connect offset.storage.topic not receiving messages (i.e. how to access Kafka Connect offset metadata?)
- Kafka connector- cannot stop rebalancing
- Zeppelin 6.5 + Apache Kafka connector for Structured Streaming 2.0.2
- logstash kafka input performance / config tuning
- Kafka Connect when we have multiple queries
- PubSub Kafka Connect Google Platform error reading credential file from environment variable
- PubSub Kafka Connect node connection end of file exception
- Join data from 4 topics in broker using Kafka Streams when updates are not same in each of the topics
- Passing parameter Name in confluent HDFS Connector
- Kafka Connect JDBC sink connector not working
Related Questions in DEBEZIUM
- How could we tail oplog from a secondary mongodb node in a replica set with debezium kafka connector?
- Understanding Debezium
- Filter read access events in Debezium
- Postgres/JDBC/Logical replication - out of memory issues
- table.include.list configuration parameter not working in Debezium Postgres Connector
- Confluent Connect, Debezium, java.lang.OutOfMemoryError
- DataflowTemplates debezium connector issue
- How to get all the datetime values coming from debezium to yyyy-mm-dd-ss.zzz format
- Is it possible to disable the initial data snapshot in Debezium?
- Kafka Service going down automatically
- Kafka Connect Debezium with ms sql server. Key extract configuration problem
- debezium/zookeeper port 2181 closed
- no viable alternative at input 'CREATE TABLE
- is there a way to limit kafka connect heap space when debezium connector is fetching data from your sql server
- How to replicate all changes from source to destination db using debezium and confluent-sink-connector running on docker
Related Questions in LOGICAL-DECODING
- How to do logical replication on cascading standby server on postgres?
- PostgresQL: Is an entire transaction always written to a replication slot?
- Logical decoding - postgres - multiple output formats
- How to interpret executable binary file
- What is the best way to read from PgQ to Apache Kafka?
- Proper standby status update in streaming replication protocol
- logical_decoding_work_mem and max_logical_worker_processes tunning
- What is the difference between Wal2json and Pgoutput?
- How to use exported snapshot in Postgres replication slot
- Encoding 0 to 255(1 Byte) range of 10 different values into 3 Byte length value and retrive it to original values
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You either go transaction log, or you go query-based.
Which you use depends on your use of the data. Query-based polls the DB, log-based uses the log (WAL).
I'm interested in your assertion that Debezium has "significant overhead"—have you quantified this? I know there are lots of people using it and it's not usually raised as an issue.
For query-based capture use the Kafka Connect JDBC source connector.
You can see pros and cons of each approach here: http://rmoff.dev/ksny19-no-more-silos