<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="173533" data-post-id="173533">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="PJextra" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  PJextra
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="hauleth" data-post="29" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hauleth/48/18942_2.png" class="avatar"> hauleth:</div>
<blockquote>
<p>No you do not. You use Elixir with RDBMs because you do not want to maintain the driver and you want someone to do that for you.</p>
</blockquote>
</aside>
<p>Exactly. My view is from someone who is not yet very proficient in coding, is starting to code or coming from Javascript world. My view is also from someone who is highly proficient but knows the future problems of maintaining a 100% updated, compliant and reliable driver outside of a core team that also handles the core ecosystem (meaning, José Valim is very active in all key parts of the ecosystem, even now with the authentication part).</p>
<p>I agree with a lot of what you say, but at the same time think you miss my point: I think Elixir ecosystem would unlock the doors to much more developers by "officially " supporting another option for DBs rather than just traditional Relational DBs.<br>
I have my personal preferences, you have yours, others will have different ones. I understand that we cannot have to many “official” options, but I believe this is one of the “details” that keeps preventing Elixir to have the adoption rate that it deserves.<br>
Looking into Ecto documentation and only see traditional Relational DBs being mentioned in there…I remember that there was a time when we had MongoDb mentioned in there. And it was because of that, by then, that I decided to really use it.<br>
The truth is that I still use it, even without MongoDB, as I later discover that MongoDB was probably not the best option, but it was looking into that possibility when I was assessing the Ecosystem that made my tried and start using it.<br>
So, even if it would be only marketing, or the price to pay for larger adoption, I think we should have “officially” supported options.<br>
The larger the user base the more libraries, blogs, support, recruitment base,…you have.<br>
I would love to see the ecosystem grow at a faster pace.<br>
And yes, I’m being selfish but I think it’s in a good way. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173533" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/32">Post #31</a>
	                </div>
	            </div>
              <div id="likers-container-173533" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173533"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #31"></div>
  </section>
</div>
    <div class="postbit" id="173535" data-post-id="173535">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hauleth" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hauleth/120/18942_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hauleth
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="PJextra" data-post="32" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>My view is also from someone who is highly proficient but knows the future problems of maintaining a 100% updated, compliant and reliable driver outside of a core team that also handles the core ecosystem</p>
</blockquote>
</aside>
<p>The same applies to Jose or anyone from the core. They have exactly the same amount of time as you. Adding more libraries to maintain mean that they will need to do some sacrifices. I highly doubt that they want to sacrifice things for maintaining code that they do not use.</p>
<aside class="quote no-group" data-username="PJextra" data-post="32" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>My view is from someone who is not yet very proficient in coding, is starting to code or coming from Javascript world.</p>
</blockquote>
</aside>
<p>Most DBs use very simple protocols, it can be very good learning project.</p>
<aside class="quote no-group" data-username="PJextra" data-post="32" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>"officially " supporting another option for DBs rather than just traditional Relational DBs</p>
</blockquote>
</aside>
<p>What is your meaning of “officially”? Because it supports a lot of them:</p>
<ul>
<li><a href="https://hex.pm/packages?_utf8=%E2%9C%93&amp;search=redis&amp;sort=recent_downloads" rel="nofollow">Redis</a></li>
<li><a href="https://hex.pm/packages?search=Mongo&amp;sort=recent_downloads" rel="nofollow">MongoDB</a></li>
<li><a href="https://hex.pm/packages?search=dgraph&amp;sort=recent_downloads" rel="nofollow">DGraph</a></li>
<li><a href="https://hex.pm/packages?search=couch&amp;sort=recent_downloads" rel="nofollow">CouchDB</a></li>
<li><a href="https://hex.pm/packages?search=cassandra&amp;sort=recent_downloads" rel="nofollow">Cassandra</a></li>
<li><a href="https://hex.pm/packages?search=arango&amp;sort=recent_downloads" rel="nofollow">ArangoDB</a></li>
<li><a href="https://hex.pm/packages?search=rethink&amp;sort=recent_downloads" rel="nofollow">RethinkDB</a></li>
<li><a href="https://hex.pm/packages?search=riak&amp;sort=recent_downloads" rel="nofollow">Riak</a></li>
<li>Utilities for built-in <a href="https://hex.pm/packages?search=mnesia&amp;sort=recent_downloads" rel="nofollow">Mnesia</a></li>
<li><a href="https://hex.pm/packages?search=rocksdb&amp;sort=recent_downloads" rel="nofollow">RocksDB</a></li>
<li><a href="https://hex.pm/packages?search=leveldb&amp;sort=recent_downloads" rel="nofollow">LevelDB</a></li>
<li><a href="https://hex.pm/packages?search=memcache&amp;sort=recent_downloads" rel="nofollow">MemcacheDB</a></li>
</ul>
<aside class="quote no-group" data-username="PJextra" data-post="32" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>remember that there was a time when we had MongoDb mentioned in there</p>
</blockquote>
</aside>
<p>Because someone was maintaining the implementation. IIRC <a class="mention" href="/u/michalmuskala" rel="nofollow">@michalmuskala</a> was part of it. Now there is no-one who want to work on that. If you want, it can be You. I think you will find guidance and help with many people here, but no-one will do the job for you.</p>
<aside class="quote no-group" data-username="PJextra" data-post="32" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>MongoDB was probably not the best option</p>
</blockquote>
</aside>
<p>&lt;sarcasm&gt;It  never is&lt;/sarcasm&gt;</p>
<aside class="quote no-group" data-username="PJextra" data-post="32" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>So, even if it would be only marketing, or the price to pay for larger adoption</p>
</blockquote>
</aside>
<p>But why? Do we need such marketing? Do we need larger adoption that much? I would say - nah.</p>
<aside class="quote no-group" data-username="PJextra" data-post="32" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>I would love to see the ecosystem grow at a faster pace.</p>
</blockquote>
</aside>
<p>I on the other hand prefer to have slower growth, but with better quality of code. JS/Node/NPM community showed us what will happen when we sacrifice quality for the growth. Do not make that mistake again.</p>
<aside class="quote no-group" data-username="PJextra" data-post="32" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>code or coming from Javascript world</p>
</blockquote>
</aside>
<p>But JS do not have any “official drivers” for any DB (unless provided by the DB authors, then we can call it “official” for some meanings of that word).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173535" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/33">Post #32</a>
	                </div>
	            </div>
              <div id="likers-container-173535" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173535"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #32"></div>
  </section>
</div>
    <div class="postbit" id="173538" data-post-id="173538">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lpil" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lpil/120/17492_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lpil
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Gleam</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="PJextra" data-post="30" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/e19b73/48.png" class="avatar"> PJextra:</div>
<blockquote>
<p>Yes, true, but if you want to use Ecto</p>
</blockquote>
</aside>
<p>I didn’t use Ecto for any of these projects and had no problems at all <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173538" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/34">Post #33</a>
	                </div>
	            </div>
              <div id="likers-container-173538" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173538"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #33"></div>
  </section>
</div>
    <div class="postbit" id="173585" data-post-id="173585">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="marcalchca" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  marcalchca
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’d like to point out that although relational databases have proven their strength in some types of applications (e.g. transaction banking apps where complex relationships (in particular hierarchical) are not used).<br>
However, it is true that some RDBMS limits are clear now since at least 10 years (mainly hierarchies are a pain, as well as (often related to that) complex queries can get pages and pages long and quite unreadable / unmaintainable).<br>
Strangely RDBMS seem to remain quite dominant (a lot of specialized consultants are around and books and training of course … this slows down investment in new technology). However, very performing alternatives exist for many years.</p>
<p>I invite you to have a look at neo4j (graph database). You’ll discover that it is more relational than RDBMS <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"> because the relation itself becomes a first class citizen (having it’s own properties). Also the query language is such a pleasure compared to SQL (much more compact and closer to the natural intent of the query).</p>
<p>My intention is certainly not to criticize gratuitously all the beautiful work done for Elixir.<br>
I also have no intention to hurt anyone’s feelings in this forum.<br>
It is with a lot of respect for all of you, I write this chat !</p>
<p>I’m sure that in many cases Ecto helps the developer out very well (I’m new to Elxir at this stage, but I guess it must resemble ActiveRecord from Ruby?).</p>
<p>However for many use cases, graph databases are definitely the right choice.<br>
Having it as a first class citizen in Elixir (just as an alternative next to RDBMS, not necessarily replacing it) would leave the freedom up to the developer  to choose the option that fits his use case best.</p>
<p>So it’s not about something being “old”. I know theories of decades ago that still hold their value as of today. Most wine only gets better with age <img src="https://forum.elixirforum.com/images/emoji/apple/yum.png?v=15" title=":yum:" class="emoji" alt=":yum:" loading="lazy" width="20" height="20">.</p>
<p>But in this case it’s good to acknowledge that alternatives exist.<br>
It’d perhaps be nice to “open” up Elixir to them?</p>
<p>I will attempt to use neo4j with Elixir and I hope it won’t be too much of a pain.<br>
When I will have done so, I’ll share my experience.</p>
<p>Enjoy the weekend! Stay safe.<br>
Marc</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173585" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/35">Post #34</a>
	                </div>
	            </div>
              <div id="likers-container-173585" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173585"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #34"></div>
  </section>
</div>
    <div class="postbit" id="173586" data-post-id="173586">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="marcalchca" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  marcalchca
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Happy to read about your positive experience in combining Neo4J and Elixir.<br>
It is my intention too. This is reassuring to read. Thanks.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173586" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/36">Post #35</a>
	                </div>
	            </div>
              <div id="likers-container-173586" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173586"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #35"></div>
  </section>
</div>
    <div class="postbit" id="173588" data-post-id="173588">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hauleth" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hauleth/120/18942_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hauleth
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="marcalchca" data-post="35" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>complex queries can get pages and pages long and quite unreadable / unmaintainable</p>
</blockquote>
</aside>
<p>There are CTE’s for that, and with tooling like Ecto or jOOQ it became more bearable. Also there are (were) other  languages to query relational DBs, for example mentioned earlier <a href="https://en.wikipedia.org/wiki/QUEL_query_languages" rel="noopener nofollow ugc">QUEL</a> or <a href="https://en.wikipedia.org/wiki/Dataphor#Languages" rel="noopener nofollow ugc">D4</a>.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="35" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>You’ll discover that it is more relational than RDBMS</p>
</blockquote>
</aside>
<p>You seem to misunderstand what “relational” mean in RDBMs. <strong><code>JOIN</code>s aren’t “relations” in RDBMs</strong>, <a href="https://en.wikipedia.org/wiki/Relational_model" rel="noopener nofollow ugc">“relation” in sense of DBs is the different name for table</a>.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="35" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>because the relation itself becomes a first class citizen</p>
</blockquote>
</aside>
<p>Yes, except nn - see above.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="35" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>Also the query language is such a pleasure compared to SQL</p>
</blockquote>
</aside>
<p>Maybe, it depends, but what do would you say <a href="https://www.linkedin.com/pulse/postgresql-oracle-graph-query-language-standards-adoption-green/" rel="noopener nofollow ugc">about having similar facilities in SQL standard</a>?</p>
<p>Also important think - as I said before - SQL isn’t only language used in relational DBs.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="35" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>I’m sure that in many cases Ecto helps the developer out very well (I’m new to Elxir at this stage, but I guess it must resemble ActiveRecord from Ruby?).</p>
</blockquote>
</aside>
<p>Quite far from that. It is more like <a href="https://www.jooq.org" rel="noopener nofollow ugc">jOOQ</a>. It is more akin to <a href="https://dry-rb.org" rel="noopener nofollow ugc">dry-rb</a> from Ruby world.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="35" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>However for many use cases, graph databases are definitely the right choice.</p>
</blockquote>
</aside>
<p>I would say otherwise. It is pretty straightforward to migrate from SQL to graph when needed, other way around is much harder. Additionally you can simulate graph DB pretty effectively with SQL. Also as I said earlier, SQL standard is working on adopting some graph-like features.</p>
<aside class="quote no-group" data-username="marcalchca" data-post="35" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>But in this case it’s good to acknowledge that alternatives exist.<br>
It’d perhaps be nice to “open” up Elixir to them?</p>
</blockquote>
</aside>
<p>No one says otherwise, and there exists enormous amount of drivers for different DBs already. Just not all of them are supported by Ecto. Using Neo4j example - <a href="https://neo4j.com/developer/erlang_elixir/" rel="noopener nofollow ugc">it even mention them in official documentation</a>.</p>
<p><strong>EDIT:</strong> There is even <a href="https://github.com/dominique-vassard/ecto_neo4j" rel="noopener nofollow ugc">Ecto adapter for Neo4j</a>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173588" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/37">Post #36</a>
	                </div>
	            </div>
              <div id="likers-container-173588" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173588"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #36"></div>
  </section>
</div>
    <div class="postbit" id="173596" data-post-id="173596">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="LostKobrakai" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/LostKobrakai/120/3072_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  LostKobrakai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="marcalchca" data-post="35" data-topic="31105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/m/65b543/48.png" class="avatar"> marcalchca:</div>
<blockquote>
<p>However for many use cases, graph databases are definitely the right choice.<br>
Having it as a first class citizen in Elixir (just as an alternative next to RDBMS, not necessarily replacing it) would leave the freedom up to the developer to choose the option that fits his use case best.</p>
</blockquote>
</aside>
<p>I can see the appeal, but at least for the applications I‘m creating there are hardly cases where the need for a graph db is greater than the need for a rdbms. And using multiple databases brings quite a lot of difficulties, which easily outweigh gains one would get from a graph database. In many other programming spaces mixing multiple technologies is far easier, but for databases (and transactions) this is not as simple.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173596" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/38">Post #37</a>
	                </div>
	            </div>
              <div id="likers-container-173596" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173596"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #37"></div>
  </section>
</div>
    <div class="postbit" id="173606" data-post-id="173606">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="marcalchca" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  marcalchca
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Wow, you are a strong believer of RDBMS, more than just in love, it seems <img src="https://forum.elixirforum.com/images/emoji/apple/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" loading="lazy" width="20" height="20">.</p>
<p>But I learned a few interesting things from your reply, most importantly that Ecto would support Neo4j, great! Very interesting.</p>
<p>Also your comment on Ecto being different from ActiveRecord is motivating me to take a close look at that.</p>
<p>I understand that you believe RDBMS should cope with its weaknesses by adding some graph features to it. Personally I prefer pure solutions rather than an attempt to have a Swiss knife. It is my impression (I don’t say it’s a fact, I need sufficient experience first before confirming it firmly) that graph databases encompass the relational approach: it offers RDBMS and more, with more flexibility and better performance. Everything I read and webinars I followed, seem to confirm this. In RDBMS I have like 30 years of experience, I have been teaching about the subject both at university and in private companies and I worked on many projects involving RDBMS in different roles fron technical to methodological). So I pretty well know the limitations. Despite all nostalgy I can be very objective about that.</p>
<p>Thanks a lot for your valuable feedback.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173606" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/39">Post #38</a>
	                </div>
	            </div>
              <div id="likers-container-173606" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173606"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #38"></div>
  </section>
</div>
    <div class="postbit" id="173607" data-post-id="173607">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="marcalchca" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  marcalchca
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for your reply.<br>
Do you mean difficult for the community to maintain Phoenix with different “native” db-options or for a developer mixing those different db-technologies?</p>
<p>The latter I personally prefer to avoid. I’m going to examine Neo4j as my future choice for any project I want to pursue. I’m not sure it has a limitation for which I’d need RDBMS. That’s what I want to find out. If not, I’ll stick to RDBMS and try to find some addons to compensate for its limitations. But I hope I will not need to.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173607" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/40">Post #39</a>
	                </div>
	            </div>
              <div id="likers-container-173607" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173607"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #39"></div>
  </section>
</div>
    <div class="postbit" id="173608" data-post-id="173608">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="PJextra" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  PJextra
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My main point was not to start a discussion around what database type is better but exactly about the fact that Elixir should provide us the choice at least between the “classical” RDBMS and “new” approaches like Graph DBs.</p>
<p>I realise the vast majority of people using Elixir at the moment are very happy and true believers in RDBMS but I expect they to understand that that belief is probably preventing others for using Elixir and should be addressed seriously by the community, especially now that all the other key parts of the ecosystem are almost finished in a very good way.<br>
So, addressing this topic could be the next big step.</p>
<p>PS: I also learned that I need to be very careful next time in how to frame the question to not mislead the conversation into a discussion about the intrinsic value of different databases. I wrongly assumed the majority had the same picture about the dynamics of DBs, which obviously is not true <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173608" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-ecosystem-is-a-dream-come-true-and-future-proof-except-for/31105/41">Post #40</a>
	                </div>
	            </div>
              <div id="likers-container-173608" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173608"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #40"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/31105/load_more?page=5">Load more posts (25 remaining)</a>
</div></template></turbo-stream>