sarat1669
Alternatives for MongoDB?
I wanted to know which NoSQL databases offer official clients for elixir/erlang?
We currently have mongo as our database and the application is written in JAVA. We are considering porting it to elixir, but since mongo driver for elixir isn’t mature enough, we are looking for an alternative.
Which database are you using and what would you recommend?
Most Liked
OvermindDL1
Yep, even raw-bog-standard PostgreSQL has fantastic nosql style storage with far more features than something like mongodb. Although I personally always question why someone thinks they need a nosql style storage, having a properly typed system is always far safer and often much faster. ![]()
OvermindDL1
N-to-M join tables.
Unsure what that is modeling but a transaction can do multi-updates atomically.
Join tables don’t care about depth. ^.^
All of which are just normal queries or (materialized) views, which are bliss. ^.^
This is all entirely not only supported by SQL but would be very well modeled as such, plus it helps to think how to model the data as it helps to get the code in better order as well. More ‘types’ is always better. ![]()
I’ve heard that argument many times and also seen it ripped apart many times. What you said at the end is precisely the most cited reason why it fails but that’s not even the biggest reason, which is the failure of typing and reliability around knowing the types.
Ankhers
What features are you looking for from a mongo driver? There has been some improvement on it since I wrote that.
outlog
what is the nature of the data? using postgres with https://github.com/timescale/timescaledb or https://github.com/citusdata/citus comes to mind… admittingly I would think “normal” postgres is also up for the job…
that being said I would cautiously warn against changing both the DB and the App layer(to elixir I assume) at the same time… but all depends on complexity etc. etc.
I would try and get something going using the old DB and Elixir (perhaps reverse proxy the Java app and then build out slowly… Migrating from Rails to Elixir, bit by bit)
Ankhers
The most compelling argument that I have heard is from this video here. Keep in mind I have not verified the information, but from a high level, it makes sense.
The argument being, SQL databases are optimized for memory. Which made sense for when they were made because memory was one of the most expensive pieces in a datacentre. Now memory is fairly cheap and CPU’s have become the most expensive pieces in a datacentre. NoSQL apparently optimizes for the CPU, which is why it generally has a fairly “dumb” querying mechanism.
But to me, that just seems to move the CPU usage from the database and into your application(s). So I don’t really know how it is a win.
I just wish I had a lot of time to dig deep into as many databases as I could in order to find what each of their use cases are. Unfortunately for me, I don’t have that time.







