thaianhsoft

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

  1. 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

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 :slight_smile:). 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

mpope

For serialization, you could use the built in erlang:term_to_binary/1 on any term, and use Erlang -- zlib for compression, or an external zstd library.

thaianhsoft

thaianhsoft

oh, your internal source has implement of B tree, which I have searching for in functional programming. Thanks for this thing

Where Next?

Popular in Questions Top

Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
New
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers' Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
jc00ke
Expanding on this topic: https://forum.elixirforum.net/t/map-typespec-question/19217 Let’s say I have a map with required and optional k...
New

Other popular topics Top

rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list....
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
dotdotdotPaul
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
Tee
can someone please explain to me how Enum.reduce works with maps
New
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
AstonJ
by Lance Halvorsen Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web application...
460 27162 124
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New

We're in Beta

About us Mission Statement