Hi!
Today MyMedsAndMe like to annouce an OrientDB binary driver for Elixir: MarcoPolo.
OrientDB is a 2nd generation graph database that provides an exciting combination of graph, document and object database. It provides schema flexibility, type safetyness, transactions and record level security as well as fast links, sharding and a multi-master architecture. OrientDB is made for storing mass data, querying complex data models and distributed data in multi-cluster with high reliability, performance and scalability requirements.
MarcoPolo was developed by Andrea Leopardi (@whatyouhide) with typical Elixir/Erlang attributes in mind:
- Robust connections: connections are supervised, and will restart or retry when
appropriate.
- Declarative encoding and decoding: record deserialisation/serialisation made straight forward.
- Easy to use: pattern match against the result with the information you expect.
MarcoPolo supports:
- data mapping OrientDB/Elixir
- Graph API and Document API queries
- transactions as list of operations
- server-side scripts like SQL-batches
- fetch plans for loading nested documents and traversing branched vertices and edges
The integration into Ecto will be the next step. MarcoPolo will gain:
- Ecto.Model to structure data and relationships
- Ecto.Repo to connect to multiple different databases
- Ecto.Pool for solid connection pooling
- Ecto.Query, a LINQ like query DSL
- Ecto.Migration for schema and data transitions
Check out the readme examples and the tests for usage.
Feel free to give it a try. We will be happy about any feedback and collaboration
– MarcoPolo is open-source.
Cheers!
Volker