dataworks
xtdb
dataworks | xtdb | |
---|---|---|
2 | 17 | |
62 | 2,445 | |
- | 0.6% | |
0.0 | 9.9 | |
about 2 years ago | 3 days ago | |
Clojure | Clojure | |
MIT License | Mozilla Public 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.
dataworks
-
Is it possible to redefine existing Clojure syntax with macros?
I have an example of doing hacky things like this here. And I have an example of a recursive-replace function here.
-
What I Worked On
>Around this time, in the spring of 2000, I had an idea. It was clear from our experience with Viaweb that web apps were the future. Why not build a web app for making web apps? Why not let people edit code on our server through the browser, and then host the resulting applications for them? [9] You could run all sorts of services on the servers that these applications could use just by making an API call: making and receiving phone calls, manipulating images, taking credit card payments, etc....
>The language for defining applications would of course be a dialect of Lisp. But I wasn't so naive as to assume I could spring an overt Lisp on a general audience; we'd hide the parentheses, like Dylan did.
Well you damn near gave me a heart attack. Built the beginnings of something like that, a web app that builds web apps and a stream processor that builds stream processors: https://github.com/acgollapalli/dataworks
xtdb
-
Mariposa – A programming language with time-travel
You don't necessarily need to embed it into the programming language itself to get a ton of value. XTDB (https://github.com/xtdb/xtdb) offer a Clojure, Java and HTTP API for interacting with the database, which is bitemporal and lets you query the database for a specific point in time for example.
- Everything wrong with databases and why their complexity is now unnecessary
-
I made a basic python client and ORM for XTDB
XTDB is a bitemporal and dynamic relational database for SQL and Datalog, written in Clojure. The Python application I work on uses XTDB for its bitemporal and schema-less nature. There were a few Python clients that looked unmaintained and lacked some features we needed, so I tried to build something that would have fit our own requirements in hindsight. This includes:
-
Endatabas: A SQLite-inspired, SQL document database with full history
it's bitemporal, will be SQL-compatible, and also has another query-language - XTQL :
https://github.com/xtdb/xtdb/tree/2.x/dev/xtql
-
Is Datomic right for my use case?
You can also consider other durable Datalog options like datahike or datalevin which can work either as lib (SQLite style) or in a client-server setup; if you want to play with bi-temporality XTDB is a rock solid option with very good support and documentation.
-
Datomic Is Now Free
You could look into http://xtdb.com/ if you want an open source alternative
-
Taming the Time: how to install & develop with XTDB
XTDB, or Cross-Time Database, is a distributed and transactional database system designed to handle complex and changing data with ease. It is based on a bitemporal model, which allows for the tracking of both the valid time and transaction time of data, enabling powerful and flexible querying capabilities. With XTDB, developers can work with immutable data structures, which simplifies development and improves reliability. Its graph query language, Datalog, provides a powerful and expressive way to navigate relationships within the data.
- Introduction to Datalog
- Clojure Turns 15 panel discussion video
- Xtdb
What are some alternatives?
Metabase - The simplest, fastest way to get business intelligence and analytics to everyone in your company :yum:
datahike - A durable Datalog implementation adaptable for distribution.
kpow-secure - Key Generation and Payload Encryption
datalevin - A simple, fast and versatile Datalog database
kafka-util - A Clojure library designed to provide a simple interface to consume from Kafka for debugging purposes
crux - General purpose bitemporal database for SQL, Datalog & graph queries. Backed by @juxt [Moved to: https://github.com/xtdb/xtdb]
datascript - Immutable database and Datalog query engine for Clojure, ClojureScript and JS
pg-essays - Serverless proxy for http://paulgraham.com/articles.html
biff - A Clojure web framework for solo developers.
spring-data-jpa-temporal - Temporal auditing extension of the Spring Data JPA module
entish - Entish is a declarative Datalog-like language for formal RPG rules