plv8
surrealdb
plv8 | surrealdb | |
---|---|---|
13 | 93 | |
1,854 | 25,462 | |
0.9% | 2.1% | |
6.6 | 9.8 | |
about 2 months ago | 6 days ago | |
C++ | Rust | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
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.
plv8
- Supabase Storage: now supports the S3 protocol
-
PLJS – JavaScript Language Plugin for PostreSQL
a bit more than an experiment at this point. pljs, even in its early state, has some very good results: https://github.com/plv8/plv8/issues/531#issuecomment-1627883...
passing through v8's javascript/c++ membrane has always been painful, and appears to be getting worse.
-
Sending Email From Postgres
From here you'll write a send_email function in Postgres that calls the API. I initially wrote the entire function in PLpgSQL and spent an entire day to get it debugged and working. And even then I wasn't happy with it. In my opinion that language is unintuitive and difficult to learn and debug. I switched over to PLV8, an extension for Postgres that supports writing functions in Javascript. It takes one click in the Supabase UI to enable this extension, and it will save hours and hours of time.
-
I wrote a database engine in Typescript
You jest, but the evil geniuses at plv8 have already done it for Postgresql.
-
Surrealdb – FOSS document-graph database, for the realtime web in Rust
To be honest I haven't used it, but I've extensively used pl/pgsql and a little pl/ruby, and know that https://plv8.github.io/ exists - it might be what you're looking for and it's on my list of things to play with
- PLV8 is a trusted Javascript language extension for PostgreSQL. It can be used for stored procedures, triggers, etc.
- PLV8 JavaScript Procedural Language Add-On for PostgreSQL
-
Show HN: Postgres.js – Fastest Full-Featured PostgreSQL Client for Node and Deno
but, let's take your straw man a little further. let's suppose that all of the actual parsing is done for you already, and all you're doing is iterating through the data structure, creating objects through the c++ api, and calling it good. that should be faster than calling the c++ JSON.parse(), shouldn't it? since we don't have to actually parse anything, right? no, it's actually much slower. you can see this in action at https://github.com/plv8/plv8/blob/r3.1/plv8_type.cc#L173-L60...
again, we're not talking about whether javascript in an interpreter is faster than c++, we're talking about whether v8's api causes enough slowdown that some workloads that require a lot of data between c++ and javascript are slower than the same workload that requires very little data between c++ and javascript ... because passing through v8's c++/javascript membrane is slow.
- Is there an efficient and easy way to duplicate a row an all relations?
- PLV8: V8 Engine JavaScript Procedural Language Add-On for PostgreSQL
surrealdb
-
Show HN: I made a tool to easily compare pricing of developer tools and services
you should add https://surrealdb.com -- basically an open source firebase. and they will launch a paid cloud offering soon.
-
Task tracker application using NextJS and SurrealDB
In this article, I have shared how I have built a simple task-tracking full-stack application using NextJS and SurrealDB.
-
The one thing I do not like about the Nix package manager (and a fix for it)
In this article, I'll show you how you can create a binary package for your desired program. I wanted to download the SurrealDB package, but the package on nix was a source package, meaning that I had to spend over 50 minutes waiting for a stupid package to compile.
-
2024 Web Development Wish List
Get Cloud Version going!
-
Live Queries in Rust
SurrealDB comes with a LIVE SELECT statement that allows you to listen for creations, updates and deletions to specific records you are interested in or entire tables. While you could already take advantage of this powerful feature with our JavaScript SDK or WebSockets, the Rust SDK added an API for it in v1.1.0. The Rust API for live queries builds on top of the already existing select method by simply adding a live method which converts the select query into a live select one. It works seamlessly with our current API, so you can use it with single records, a range of records, or entire tables. Unlike the normal select method which returns either a single result or a vector of results, it returns a stream of notifications. This works for the WebSocket engine and the local ones (the key value stores you can embed in your app). The only engine not yet supported is the HTTP one. In this article, we show some examples of running live queries via the Rust SDK. We will skip imports for brevity but your IDE and/or the Rust compiler should give you the correct suggestions. Please refer to this example in our repo for a full, working example.
-
SurrealDB 1.0
1.0 version but https://github.com/surrealdb/surrealdb/issues/1548 is still open :)
- SurrealDB Dependents
-
How to Design a SurrealDB schema and create a basic client for TypeScript
In the midst of a dynamic landscape of exciting new projects, one name shines bright — SurrealDB.
- SurrealDB 1.0 Live
- SurrealDB the Scalable Rust SQL/NoSQL/Graph DB Released v1.0.0 Today
What are some alternatives?
Marten - .NET Transactional Document DB and Event Store on PostgreSQL
pocketbase - Open Source realtime backend in 1 file
postgres-benchmarks - A set of benchmarks focusing on the performance of Postgres client libraries for Node.js
tikv - Distributed transactional key-value database, originally created to complement TiDB
orioledb - OrioleDB – building a modern cloud-native storage engine (... and solving some PostgreSQL wicked problems) 🇺🇦
neon - Rust bindings for writing safe and fast native Node.js modules.
pg_auto_failover - Postgres extension and service for automated failover and high-availability
tantivy - Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust
node-redis - Redis Node.js client
drizzle-orm - Headless TypeScript ORM with a head. Runs on Node, Bun and Deno. Lives on the Edge and yes, it's a JavaScript ORM too 😅
pgaudit - PostgreSQL Audit Extension
Apache AGE - Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL.