Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add implementation for MySQL #32

Closed
philippgille opened this issue Nov 20, 2018 · 2 comments
Closed

Add implementation for MySQL #32

philippgille opened this issue Nov 20, 2018 · 2 comments
Labels
enhancement New feature or request

Comments

@philippgille
Copy link
Owner

philippgille commented Nov 20, 2018

While PostgreSQL is more popular among Gophers and maybe generally among projects with higher requirements (performance, features), MySQL is still the most popular open source relational database (management system).

It's SQL, so not a key-value store, but that doesn't keep us from creating a table like Item with a k text column as primary key and v blob column, or something like that.

It might be of use for people who already run MySQL and want to use gokv for simple key-value storage.

Also, TiDB is compatible with the MySQL protocol, so as long as there aren't any major differences (some required client-side configuration for example) and it works, this would be a plus (TiDB is a popular "NewSQL" databases).

@philippgille
Copy link
Owner Author

As Go offers database/sql as abstraction and you use drivers for specific databases, it might make sense to have a sql package with the main logic and a mysql, postgresql etc. package that just loads the appropriate driver and the package that's imported by a gokv package user.

But maybe it's best to first implement everything in one package and later just refactor when implementing PostgreSQL.

@philippgille philippgille added the enhancement New feature or request label Nov 20, 2018
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant