DB #42 or how to choose technology :)
We have to implement a new feature. No matter what kind of feature it is. Well, we have to expose REST API, store and retrieve some dynamic data. We spent a lot of time choosing DB. The chief architect wanted MySql. Well, this idea have not pass our sanity filter. The data architect wanted AeroSpike, team leader suggested MongoDB that was blamed by DevOps that proposed Redis.
But as we all know the absolute answer to all questions is 42. So, we decided to choose the DB #42 from alphabetically sorted list of NoSQL databases.
I opened Google and typed "list of nosql databases". Then I have chosen the following article. I had to extract a list of names of the databases and did it using the following command:
curl http://nosql-database.org/ | grep h3 | grep href > /tmp/db.hrefs.txt
(because all DB names in this list are surrounded by tag <a> with reference to their web page)
There was one case when 2 databases were written in one physical line and I fixed this manually.
Then I ran the following command to get the alphabetical list of DB names:
cat /tmp/db.hrefs2.txt | sed 's#</a>.*##' | sed 's/.*>//' | sort > /tmp/db.names.txt
The last phase it to print this list with attached numbers:
i=1; cat /tmp/db.names.txt | while read l; do echo "$i,$l"; i=`expr $i + 1`; done
Here is the list:
1 | Accumulo |
2 | acid-state |
3 | Aerospike |
4 | AlchemyDB |
5 | allegro-C |
6 | AllegroGraph |
7 | Amazon SimpleDB |
8 | AmisaDB: |
9 | Apache Flink |
10 | Applied Calculus |
11 | ArangoDB |
12 | ArangoDB |
13 | ArangoDB |
14 | Axibase |
15 | Azure DocumentDB |
16 | Azure Table Storage |
17 | BagriDB |
18 | BangDB |
19 | BaseX |
20 | BayesDB |
21 | BergDB |
22 | Berkeley DB |
23 | Berkeley DB XML |
24 | Bigdata |
25 | BinaryRage |
26 | BoltDB |
27 | BrightstarDB |
28 | BrightstarDB |
29 | Cachelot |
30 | Cassandra |
31 | Chordless |
32 | Chronicle Map |
33 | Cloudata |
34 | Cloud Datastore |
35 | Cloudera |
36 | Clusterpoint Server |
37 | CodernityDB |
38 | ConcourseDB |
39 | CoreObject |
40 | CortexDB |
41 | Couchbase Server |
42 | CouchDB |
43 | Crate Data |
44 | DaggerDB |
45 | Datomic |
46 | db4o |
47 | DBreeze |
48 | densodb |
49 | djondb |
50 | Druid |
51 | DynamoDB |
52 | Dynomite |
53 | EJDB |
54 | Elassandra |
55 | Elastic |
56 | Elliptics |
57 | EMC Documentum xDB |
58 | ESENT |
59 | Eventsourcing for Java (es4j) |
60 | Event Store |
61 | Execom IOG |
62 | eXist |
63 | eXtremeDB |
64 | eXtremeDB |
65 | eXtremeDB Financial Edition |
66 | EyeDB |
67 | Faircom C-Tree |
68 | Fallen 8 |
69 | FileDB: |
70 | filejson |
71 | FlockDB |
72 | FoundationDB |
73 | FramerD |
74 | GemFire |
75 | GemStone/S |
76 | GenieDB |
77 | Genomu |
78 | GigaSpaces |
79 | Globals: |
80 | GPUdb |
81 | GraphBase |
82 | GridGain |
83 | GT.M |
84 | gunDB |
85 | gunDB |
86 | gunDB |
87 | Hadoop / HBase |
88 | Hazelcast |
89 | Hibari |
90 | HPCC |
91 | HSS Database |
92 | HyperDex |
93 | HyperGraphDB |
94 | Hypertable |
95 | IBM Cloudant |
96 | IBM Informix |
97 | IBM Lotus/Domino |
98 | iBoxDB |
99 | Infinispan |
100 | Infinite Graph |
101 | InfinityDB |
102 | influxdata |
103 | InfoGrid |
104 | Informix Time Series Solution |
105 | Intersystems Cache |
106 | ISIS Family |
107 | JADE |
108 | JasDB |
109 | jBASE |
110 | JEntigrator |
111 | JSON ODM |
112 | KAI |
113 | kdb+ |
114 | KirbyBase |
115 | KitaroDB |
116 | KUDU |
117 | LevelDB |
118 | LightCloud |
119 | LSM |
120 | Magma |
121 | MapR |
122 | MarcelloDB |
123 | MarkLogic Server |
124 | Maxtable |
125 | MemcacheDB |
126 | MentDB: |
127 | Meronymy |
128 | MiniM DB |
129 | Mnesia |
130 | Model 204 Database |
131 | MonetDB |
132 | MongoDB |
133 | Moonshadow |
134 | Morantex |
135 | NCache |
136 | NDatabase |
137 | NeDB |
138 | NEO |
139 | Neo4J |
140 | nessDB |
141 | Newt DB |
142 | Ninja Database Pro |
143 | NosDB |
144 | NoSQL embedded db |
145 | ObjectDB |
146 | Objectivity |
147 | Onyx Database |
148 | OpenInsight |
149 | OpenLDAP |
150 | OpenLink Virtuoso |
151 | OpenQM |
152 | Oracle Coherence |
153 | Oracle NOSQL Database |
154 | OrientDB |
155 | OrientDB |
156 | Perst |
157 | PickleDB |
158 | PicoLisp |
159 | Pincaster |
160 | pipelinedb |
161 | Prevayler |
162 | Qizx |
163 | quasardb |
164 | Queplix |
165 | RaptorDB |
166 | RaptorDB |
167 | rasdaman |
168 | RavenDB |
169 | RDM Embedded |
170 | Reality |
171 | ReasonDB |
172 | Recutils: |
173 | Redis |
174 | RethinkDB |
175 | Riak |
176 | Riak TS |
177 | RockallDB |
178 | RocksDB |
179 | Scalaris |
180 | Scalien |
181 | SciDB |
182 | SCR Siemens Common Repository |
183 | Scylla |
184 | SDB |
185 | Sedna |
186 | SequoiaDB |
187 | Serenety |
188 | SharedHashFile |
189 | siaqodb |
190 | SisoDB |
191 | Sophia |
192 | Sparksee |
193 | Splice Machine |
194 | SpreadsheetDB |
195 | Starcounter |
196 | Sterling |
197 | STSdb |
198 | Symas LMDB |
199 | Tarantool/Box |
200 | TayzGrid |
201 | Terrastore |
202 | ThruDB |
203 | TIBCO Active Spaces |
204 | Tieto TRIP |
205 | TigerLogic PICK |
206 | TITAN |
207 | Tokutek: |
208 | Tokyo Cabinet / Tyrant |
209 | ToroDB |
210 | TreodeDB |
211 | Trinity |
212 | U2 |
213 | upscaledb |
214 | VaultDB |
215 | VelocityDB |
216 | Versant |
217 | VertexDB |
218 | Voldemort |
219 | Vyhodb |
220 | weaver |
221 | WhiteDB |
222 | WonderDB |
223 | Yserial |
224 | ZODB |