defoemark

defoemark

I know that a couple of nosql dbs such as Cassandra or Couchbase work fine for write-heavy applications, but what about mnesia bag type disk_copies? Does it suit, despite of the table size limit?

Showing Posts 1 to 10

tpunt

tpunt

It depends upon what sort of data you’re looking to store and how you’re wanting to store it. If you can get away with using a key-value database (such as Redis), then that would most likely be your most performant option (not to mention the nice simplicity of the data model makes it pleasurable to work with). Otherwise, I’ve heard that ScyllaDB is suppose to be very performant, particularly for a column-family database (it aims to basically be a high performance version of Cassandra).

I can’t speak for mnesia though, since I have no experience with it.

defoemark

defoemark OP

Thanks for reply @tpunt. I’m looking for a data, where primary key can be non-unique (key-value or column db), so I can fetch a batch of records using that primary key. Also it should be fast on writes. Probably the db would be CP.
Most likely the in-memory db would be too expensive. Is there any Elixir or Erlang client for Scylla?
I’ve also heard about RocksDB and that it’s designed to work with SSD.

tpunt

tpunt

That doesn’t sound like a PK, but rather just some sort of grouping value.

What’s CP?

Redis doesn’t keep the whole database in memory. It snapshots to disc periodically (I expect other key-value data stores to do the same too).

Good question - I’m not sure if there is. A quick Google search would suggest not.

That looks like an interesting alternative, and it looks like there are clients for it in Erlang too.

mkunikow

mkunikow

Our blog post about databases

So if you want search by something more than key (key must be unique :)) the option is column base database like Cassandra or Scylla. Cassandra is fast on write and slow on read. Cassandra is also eventually consistent → not CP database type. And it is not easy to maintain Cassandra :). I don’t know about Scyllia.
In other case you will need to create composite key and store collection of records in this key.

CP (Consistency and Partition Tolerance) ?

defoemark

defoemark OP

Yes I mean consistency and partition tolerance.

I found erocksdb adapter in Erlang[quote=“mkunikow, post:5, topic:739”]
So if you want search by something more than key (key must be unique :))
[/quote]

Mnesia bag type suits well in this component. The only thing is table size limit.

In case of Cassandra, this Erlang client looks pretty mature.

krapans

krapans

Anyone already used ScyllaDB with elixir/phoenix and can give feedback how it works?
Because I didn’t found any adapters for elixir /w scylladb

mkunikow

mkunikow

Fully compatible with Apache Cassandra

Does it work with something like this GitHub - cqerl/cqex: Idiomatic Cassandra client for Elixir · GitHub ?

krapans

krapans

Thanks, didn’t thought about that. Thanks.

CombinedCognitions

CombinedCognitions

well i think discord uses it in production

ambareesha7

ambareesha7

I worked short period for a company who uses ScyllaDB, whatever tools, libraries works for CassandraDB they also works for ScyllaDB, like Xandra library
And ScyllaDB is a monster, very highly performant DB and I found this free GUI tool by Netflix this works for both Cassandra and ScyllaDB
If your use case suits for CassandraDB then I recommend to use ScyllaDB

— All posts loaded —

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
achenet
Hello, I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind. However, when I launch mix phx.server, I get an error...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
Cxx-mlr
I’m working on a small exercise involving update_in/3, and I came up with this solution: data = %{ name: "Periodic Table", category:...
New
ChrisAmelia
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication): toke...
New
dillonoconnor
Is there any way to avoid the Hologram compiler running when using iex? It seems like the front-end code could potentially be disregarded...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews