|7 days ago||4 days ago|
|GNU General Public License v3.0 or later||Apache License 2.0|
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
We haven't tracked posts mentioning go-mysql yet.
Tracking mentions began in Dec 2020.
Comparing Nginx Performance in Bare Metal and Virtual Environments
1 project | news.ycombinator.com | 29 Oct 2021
I do agree with you in that regard, however, that's also a dangerous line of thinking.
There are attempts to provide horizontal scalability for RDBMSes in a transparent way, like TiDB https://pingcap.com/ (which is compatible with the MySQL 5.7 drivers), however, the list of functionality that's sacrificed to achieve easily extensible clusters is a long one: https://docs.pingcap.com/tidb/stable/mysql-compatibility
There are other technologies, like MongoDB, which sometimes are more successful at a clustered configuration, however most of the traditional RDBMSes work best in a leader-follower type of replication scenario, because even those aforementioned systems oftentimes have data consistency issues that may eventually pop up.
Essentially, my argument is that the lack of good horizontally scalable databases or other data storage solutions is easily explainable by the fact that the problem itself isn't solvable in any easy way, apart from adopting eventual consistency, which is probably going to create more problems than it will solve in case of any pre-existing code that makes assumptions about what ways it'll be able to access data and operate on it: https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...
To that end, i'd perhaps like to suggest an alternative: use a single vertically scalable RDBMS instance when possible, with a hot standby if you have the resources for that. Let the architecture around it be horizontally scalable instead, and let it deal with the complexities of balancing the load and dealing with backpressure - introduce a message queue if you must, maybe even an in-memory one for simplicity's sake, or consider an event based architecture where "what needs to be done" is encapsulated within a data structure that can be passed around and applied whenever possible. In my eyes, such solutions can in many cases be better than losing the many benefits of having a single source of truth.
Alternatively, consider sharding as a possibility, or, alternatively, do some domain driven design, figure out where to draw some boundaries and split your service into multiple ones that cover the domain with which you need to work with. Then you have one DB for sales, one for account management, one for reports and so on, all separated by something as simple as REST interfaces and with rate limits or any of the other mechanisms.
If, however, neither of those two groups of approaches don't seem to be suitable for the loads that you're dealing with, then you probably have a team of very smart people and a large amount of resources to figure out what will work best.
To sum up, if there are no good solutions in the space, perhaps that's because the problems themselves haven't been solved yet. Thus, sooner or later, they'll need to be sidestepped and their impact mitigated in whatever capacity is possible.
Question regarding computing industry
1 project | reddit.com/r/NTU | 20 Jun 2021
My knowledge is still quite limited because I never worked on the internals of distributed databases (I've only used and deployed them as an intern) but I have taken Advanced Databases CZ4031 in NTU and Parallel and Distributed Algorithms CS4231 in NUS which helped me get some basic understanding so you can consider taking those if you are interested. If you want to see how an open source database looks like, I would recommend TiDB because their documentation is quite good.
Oceanbase, yet another open source HTAP database
3 projects | news.ycombinator.com | 31 May 2021
Another Chinese database seems to be doing a better job at this front: https://github.com/pingcap/tidb
TiDB Cloud Now in Public Preview
1 project | reddit.com/r/Database | 28 May 2021
TiDB is the leading open-source, MySQL compatible, distributed NewSQL database in the industry that supports hybrid transactional and analytical processing (HTAP), which allows businesses to run real-time analytical queries. It also features horizontal scalability, strong consistency, and high availability.
Can I anyone give me a proper Database black up solution
2 projects | reddit.com/r/cscareerquestions | 23 May 2021
TiDB (pingcap.com) wraps around MySql, and implements consensus algorithms to parallelize SQL.
TiGraph: 8,700x Computing Performance Achieved by Combining Graphs + the RDBMS Syntax
1 project | dev.to | 5 Apr 2021
The three hackers on the TiGraph team are all top developers in the TiDB community:
Gopher Gold #16 - Wed Oct 21 2020
14 projects | dev.to | 21 Oct 2020
pingcap/tidb (Go): TiDB is an open source distributed HTAP database compatible with the MySQL protocol
What are some alternatives?
vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
cockroach - CockroachDB - the open source, cloud-native distributed SQL database.
go-mysql-elasticsearch - Sync MySQL data into elasticsearch
InfluxDB - Scalable datastore for metrics, events, and real-time analytics
kingshard - A high-performance MySQL proxy
dgraph - Native GraphQL Database with graph backend
oceanbase - OceanBase is an enterprise distributed relational database with high availability, high performance, horizontal scalability, and compatibility with SQL standards.
migrate - Database migrations. CLI and Golang library.
etcd - Distributed reliable key-value store for the most critical data of a distributed system
jaeger - CNCF Jaeger, a Distributed Tracing Platform
go-memdb - Golang in-memory database built on immutable radix trees