# Centralized DB support?

**URL:** <https://discuss.ipfs.tech/t/centralized-db-support/370>\
**Category:** Help\
**Created:** [May 23, 2017, 12:07am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370 "2017-05-23T00:07:34Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:07am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/1 "2017-05-23T00:07:35Z")

</div>

_From @pocketmax on Tue Sep 29 2015 03:59:57 GMT+0000 (UTC)_  
  
If I have an app thats deployed in IPFS with a central DB via a REST api…does IPFS mess with the REST communication of my app?

Also, does IPFS have a solution to centralize large databases? Maybe split records across multiple nodes or is that outside the scope of IPFS?  
  
  
_Copied from original issue: [centralized DB support? · Issue #51 · ipfs-inactive/faq · GitHub](https://github.com/ipfs/faq/issues/51)_

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:08am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/2 "2017-05-23T00:08:10Z")

</div>

_From @jbenet on Tue Sep 29 2015 06:52:23 GMT+0000 (UTC)_  
  
What do you mean by “a central DB via a REST api”? can you be much more specific?

> Also, does IPFS have a solution to centralize large databases? Maybe split records across multiple nodes or is that outside the scope of IPFS?

out of scope of ipfs-core, but certainly in scope of protocols on top of IPFS that we’re designing.

imagine [ipfs-cluster](https://github.com/ipfs/notes/issues/58) + an IPFS-KV or IPFS-SQL implementation.

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:08am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/3 "2017-05-23T00:08:35Z")

</div>

_From @pocketmax on Tue Sep 29 2015 08:13:08 GMT+0000 (UTC)_  
  
when I say “a central DB via a REST api”. I mean something like a mysql db behind a PHP/APACHE web server. The public side of the server exposes a REST api via port 80 while the internal side connects to a mysql db. So in order for my app to make changes to my DB, it would make rest calls to this php/apache server. I was just curious if IPFS would mess with that traffic in any way. But I’m guessing it wouldn’t since I would use the IP of that web server in my app.

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:08am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/4 "2017-05-23T00:08:47Z")

</div>

_From @jbenet on Tue Sep 29 2015 08:15:27 GMT+0000 (UTC)_  
  
correct

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:08am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/5 "2017-05-23T00:08:56Z")

</div>

_From @jbshirk on Thu Oct 29 2015 18:35:17 GMT+0000 (UTC)_  
  
@pocketmax

> Does IPFS have a solution to centralize large databases? Maybe split records across multiple nodes or is that outside the scope of IPFS?

I’m no expert but years ago I dabbled with a particular [column-oriented database](https://www.google.com/search?q=column+oriented+database) called KDB (now: [KDB+](http://kx.com/software.php)) which was, and still is, way ahead of its time. In 2000 the concept was relatively unknown to traditional RDBMS people, but not so today.

I know that with column-oriented databases in general (and specifically KDB) index files are not used and column data, stored in separate text files, can be, and is, split over many volumes. I just have a hunch that this kind of data structure would lend well to IPFS, and eventually updates and inserts could be automagically handled with version diffs.

I suppose that files like Microsoft SQL Server uses would probably be a nightmare on IPFS.

Just a thought…

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:09am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/6 "2017-05-23T00:09:03Z")

</div>

_From @jbenet on Sun Nov 01 2015 22:11:50 GMT+0000 (UTC)_  
  
there are clean layerings of SQL (or restricted subsets) on top of these kinds of systems.

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:09am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/7 "2017-05-23T00:09:09Z")

</div>

_From @pocketmax on Mon Nov 02 2015 02:30:45 GMT+0000 (UTC)_  
  
jbenet. Can you send some links or give some names of the technology that use these “restricted subsets”? I’ve never heard of it. I did some googling and can’t find any links to any tech like that. It sounds interesting.

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:09am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/8 "2017-05-23T00:09:14Z")

</div>

_From @jbenet on Mon Nov 02 2015 02:53:28 GMT+0000 (UTC)_  
  
one example GQL is a restricted subset of SQL for bigtable/“appengine datastore”. layered over a multiversion distributed kv-store. look for those. all the “no sql but relational” dbs usually have a SQL restricted subset layered over a distributed kv store, even if they dont call it that. this includes mongodb.

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:09am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/9 "2017-05-23T00:09:17Z")

</div>

_From @jbshirk on Wed Nov 04 2015 22:37:00 GMT+0000 (UTC)_  
  
name isn’t pretty, but possibly a good candidate to adapt to ipfs: [https://github.com/cockroachdb/cockroach](https://github.com/cockroachdb/cockroach)  
I’ll look more into it later.

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:09am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/10 "2017-05-23T00:09:19Z")

</div>

_From @jbshirk on Wed Nov 04 2015 22:46:04 GMT+0000 (UTC)_  
  
here is another that is very interesting:

> **[rescrv/HyperDex](https://github.com/rescrv/HyperDex)**
>
> HyperDex is a scalable, searchable key-value store - rescrv/HyperDex

  
[http://hyperdex.org](http://hyperdex.org)  
[http://hyperdex.org/papers/hyperdex.pdf](http://hyperdex.org/papers/hyperdex.pdf)

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:09am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/11 "2017-05-23T00:09:22Z")

</div>

_From @jbshirk on Wed Nov 04 2015 23:37:50 GMT+0000 (UTC)_  
  
A couple of interesting graph-oriented databases found on wikipedia. My criteria were basic: distributed, open source, NOT written in java.

- [https://github.com/google/cayley](https://github.com/google/cayley) (written in go)
- [https://www.arangodb.com](https://www.arangodb.com) [https://www.arangodb.com](https://www.arangodb.com) (written in C++ with js, node, io.js API)

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:09am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/12 "2017-05-23T00:09:24Z")

</div>

_From @pocketmax on Wed Nov 04 2015 23:46:21 GMT+0000 (UTC)_  
  
lol “NOT written in java.” so true… so true.

```auto
 On Wednesday, November 4, 2015 4:37 PM, Joe <notifications@github.com> wrote:

```

A couple of interesting graph-oriented databases found on wikipedia. My criteria were basic: distributed, open source, NOT written in java.

- [https://github.com/google/cayley](https://github.com/google/cayley) (written in go)
- [https://www.arangodb.com](https://www.arangodb.com) [https://www.arangodb.com](https://www.arangodb.com) (written in C++ with js, node, io.js API)  
—  
Reply to this email directly or view it on GitHub.

---

<div class="post-metadata">

**Author:** ![flyingzumwalt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/flyingzumwalt/32/12_2.png) [@flyingzumwalt](https://discuss.ipfs.tech/u/flyingzumwalt)\
**Post date:** [May 23, 2017, 12:09am UTC](https://discuss.ipfs.tech/t/centralized-db-support/370/13 "2017-05-23T00:09:26Z")

</div>

_From @jbshirk on Fri Nov 06 2015 11:10:56 GMT+0000 (UTC)_  
  
An important concept that ought to work well with distributed hash tables  
[Handling ridiculous amounts of data with probabilistic data structures](http://pyvideo.org/video/402/pycon-2011--handling-ridiculous-amounts-of-data-w)
