thaianhsoft
Which modules to implement RDBMS in Elixir/Erlang effectively?
I have been self-studying computer science and have a passion for elixir. I want to implement a simple relational database from a few assignments.
But since then, a lot of questions which I haven’t solved. I have core layers are buffer manager layer and it manages disk manager layer
- Buffer Manager fetches N pages in a unit of bytes to perform actions faster in memory from the disk manager. If I assume that each page is one struct with one list of multiple records
How do fetch these structs into memory do something and then flush them from memory to disk such as external merge sorting?
What’s the module name similar to the Java Serialization interface or something like that?
I know this thing isn’t suitable in elixir form. But I really have a passion for Elixir/Erlang and hope to bring elixir in my background all time. I want to make things challenging myself in Elixir/Erlang to use proficient or anyone interest in this thing like me can see them.
Thanks, anyone reading
Most Liked
lucaong
If you are interested in how a database engine can be implemented entirely in Elixir, you can give a look to CubDB (it’s a bit of shameless self promotion, as I am the author
). It is not a relational database, but rather an embedded datastore supporting key/value access, selection of ranges, and atomic transactions, but such a storage engine is normally the core on top of which relational features are implemented.
mpope
For serialization, you could use the built in erlang:term_to_binary/1 on any term, and use zlib — OTP 29.0.2 (erts 17.0.2) for compression, or an external zstd library.
thaianhsoft
oh, your internal source has implement of B tree, which I have searching for in functional programming. Thanks for this thing
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #hex









