I am creating a flink application in Hadoop cluster. I need a datastore for this application.
Operations on datastore:
-
Simple table with 3-4 columns. Equal reads and writes (mostly update)
- Max - 1000 read/writes per second
- Average - 100 read/writes per second
-
Table with 10-15 columns. Mostly write and very few reads.
- Max - 500 read/writes per second
- Average - 50 read/writes per second
Requirements:
-
I will not perform any aggregation like average, max or more complicated operations.
-
Most of the reads are on primary keys.
Available options for me:
- HDFS - This is for batch processing. So not fit for my use case.
- Hive - Again more towards batch processing. But I can perform HQL.
- HBase - It is distributed. Good for reads on row keys. No issue with large growing data.
- PostgreSQL(RDBMS) - As number of operations per second is not much, RDBMS can also be good . Easy to use SQL query. Good ORMs in market.
Correct me if I am wrong about these.
I am confused between HBase and PostgeSQL. What would be the good option for this usecase?
