cowlib
CouchDB
cowlib | CouchDB | |
---|---|---|
1 | 34 | |
280 | 6,203 | |
0.7% | 0.7% | |
5.1 | 9.6 | |
3 months ago | about 3 hours ago | |
Erlang | Erlang | |
ISC License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cowlib
-
Oh Erlang... where have you been all my life?
RE: HTTP/Web Sockets/TCP/UDP/etc. - check out NineNines libraries: Ranch (TCP Socket Acceptor), Cowboy (HTTP Server), Gun (HTTP client), and CowLib (General HTTP/SPDY library) are pretty good from what I hear.
CouchDB
-
Why Sync Engines Might Be the Future of Web Applications
PouchDB Documentation CouchDB Overview Offline-First Web Apps
-
MongoDB takes a swing at PostgreSQL after claiming wins against rival
If you like the document db idea there are a lot of choices, especially
https://arangodb.com/
which I think gets little attention because people who use it see it as a secret weapon. Too bad about the license though. Also
https://couchdb.apache.org/
and
https://developer.marklogic.com/
-
List of 45 databases in the world
CouchDB — Database that uses JSON to store data and JavaScript for MapReduce queries.
-
Ask HN: What is the best code base you ever worked on?
CouchDB's HTTP API used to fit in just one file (less than 1k lines of Erlang), and it was a great jumping-off point for learning databases and web programming: https://github.com/apache/couchdb/blob/0.8.1/src/couchdb/cou...
It was written by one engineer, and then later refactored by a team to look like this (and many other files): https://github.com/apache/couchdb/blob/main/src/chttpd/src/c...
It's an interesting exercise to see how something grows and changes as it transitions from inspiration to real-world usage.
-
Which Database is Perfect for You? A Comprehensive Guide to MySQL, PostgreSQL, NoSQL, and More
CouchDB is a NoSQL database that stores data in JSON and uses JavaScript as the query language. It prioritizes easy replication and availability for distributed databases.
-
What Happens When You Put a Database in the Browser?
Another interesting option is PouchDB[0], which is a Javascript implementation of the CouchDB[1] synchronization API. It allows you to acheive eventual consistency between a client with intermittent connectivity, and a backend database.
[0] https://pouchdb.com/
[1] https://couchdb.apache.org/
-
System Design: Databases and DBMS
CouchDB
- Why SQLite is so great for the edge
-
Creating an offline node.js app, but what can I use as a database?
CouchDB is a json based database for simple projects. The fork pouchdb offers lots of support for offline.
-
How to run WebAssembly from your Rust Program
Apache CouchDB belongs to the family of NoSQL databases. It is a document store with a strong focus on replication and reliability. One of the most significant differences between CouchDB and a relational database (besides the absence of tables and schemas) is how you query data. Relational databases allow their users to execute arbitrary and dynamic queries via SQL. Each SQL query may look completely different than the previous one. These dynamic aspects are significant for use cases where you work exploratively with your dataset but don't matter as much in a web context. Additionally, defining an index for a specific table is optional. Most developers will define indices to boost performance, but the database does not require it.
What are some alternatives?
cowboy - Small, fast, modern HTTP server for Erlang/OTP.
Riak - Riak is a decentralized datastore from Basho Technologies.
hackney - simple HTTP client in Erlang
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
ranch - Socket acceptor pool for TCP protocols.
RethinkDB - The open-source database for the realtime web.
gun - HTTP/1.1, HTTP/2, Websocket client (and more) for Erlang/OTP.
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
ast_ninja - The Elixir AST explorer
Apache Cassandra - Apache Cassandra®
Appwrite - Your backend, minus the hassle.
ArangoDB - 🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.