1
votes

From various websites:

You can use Amazon Kinesis Data Streams to collect and process large streams of data records in real time. You can create data-processing applications, known as Kinesis Data Streams applications. A typical Kinesis Data Streams application reads data from a data stream as data records...Although you can use Kinesis Data Streams to solve a variety of streaming data problems, a common use is the real-time aggregation of data followed by loading the aggregate data into a data warehouse or map-reduce cluster....Data is put into Kinesis data streams, which ensures durability and elasticity.

So is Kinesis just a bus that stores data? I guess even though you can persist data... you can't query it like a relational database.

About Aurora:

Amazon Aurora (Aurora) is a fully managed relational database engine that's compatible with MySQL and PostgreSQL. You already know how MySQL and PostgreSQL combine the speed and reliability of high-end commercial databases with the simplicity and cost-effectiveness of open-source databases. The code, tools, and applications you use today with your existing MySQL and PostgreSQL databases can be used with Aurora. With some workloads, Aurora can deliver up to five times the throughput of MySQL and up to three times the throughput of PostgreSQL without requiring changes to most of your existing applications.

Aurora includes a high-performance storage subsystem. Its MySQL- and PostgreSQL-compatible database engines are customized to take advantage of that fast distributed storage. The underlying storage grows automatically as needed, up to 64 terabytes.

So aurora is just amazon's proprietary database?

Lastly, what is the activity stream? From the docs:

A database activity stream from Aurora PostgreSQL is pushed to an Amazon Kinesis data stream that is created on behalf of your database. From Kinesis, the database activity stream can then be consumed by Amazon CloudWatch or by applications for compliance management...When you start a database activity stream, each database activity event, such as a change or access, generates an activity stream event. Access events are generated from SQL commands such as CONNECT and SELECT....

So are the activity streams kind of like the bin logs or Write ahead logs of other relational databases? How is a Kinesis process started when you turn this feature on? I guess Kinesis has some way to watch the binlogs of Aurora?

1

1 Answers

5
votes

Think of Kinesis Data Stream as a Kafka Topic. Kinesis allows you to have a managed stream that has a certain throughput that you can use to ingest data. This data can be processed as you deem necessary. So yes its(Both Kafka and Kinesis) are like a Message Bus but on steroids.

Amazon Aurora is really a DB engine that has two flavours, MySQL And Postgres Compatible. Basically this is your typical RDMBS engine.

The activity streams you are describing, think of them as a streaming audit log of all the things that are happening in the DB. So any change, any view that is happening in the DB gets pushed as events onto a "Bus"/"Stream" and AWS has made it easy by allowing the DB to push these events onto a Kinesis Stream.

Hope this makes sense.