Cześć Michał!
Welcome to the Beam Community!
Based on your comments, I believe you are on the right track. Indeed, we are not sure how doable a NoSQL adapter is, but that is exactly one of the goals of the project. :) I was personally planning to support MongoDB, although I am not a user, because it seems to be the closest semantically to what we have in Ecto today. Then, as we develop the MongoDB adapter, we will need to provide new abstractions like embedding which, at some point, we should consider porting those to existing adapters (most likely PostgreSQL in this particular example).
Then, if there is time (I think it is unlikely), we can experiment with other adapters, for example, a mnesia one.
Regarding the Mongo driver, I think we can use the Erlang driver, at least as starting point, and evaluate if we should roll our own or not when we have a better idea of the pros and cons of taking such decision.
If you want some reference, I believe you can look into the MySQL adapter as an example:
It took about 1 month of work from a developer relative new to both Elixir and Ecto to write the pull request above for the MySQL adapter using an existing MySQL adapter.