opencx icon indicating copy to clipboard operation
opencx copied to clipboard

Update Redis DB implementation

Open Rjected opened this issue 5 years ago • 1 comments

Is your feature request related to a problem? Please describe. Redis is extremely fast, and was originally chosen as the database implementation (cxdb/cxdbredis). However, it was much easier to do transactions in MySQL, and cxdb/cxdbsql was created. #11 should help to more thoroughly define the interaction between the server and datastore, so once there is a more general, easy to use, and modular interface for defining datastore implementations, the redis implementation should be much easier to update.

Describe the solution you'd like Once #11 is finished, the cxdb/cxdbredis package should be essentially rewritten to conform to the interfaces that we will have defined. Writing a DB implementation for OpenCX that is also ACID would be very helpful.

Describe alternatives you've considered There are other databases that we could implement but there should really be a fast database option alongside the SQL database, and redis is pretty good. Memcached is another option but we don't want to be maintaining too many database implementations unless it's absolutely necessary. Another alternative could be Cassandra, which would be very cool, but again it's hard to maintain multiple database implementations unless we've decided on a final interface, which is unlikely to happen anytime soon.

Additional context N/A

Rjected avatar May 23 '19 04:05 Rjected

This might be cool to try: https://github.com/pingcap/tidb. Distributed, MySQL compatible and written in Go.

metalicjames avatar Jun 04 '19 18:06 metalicjames