January 2nd 2022

Scyllo v1.0.0 πŸŽ‰πŸ₯³

A short while ago, Scyllo was born. Together with the help of Jakob HelgessonJakob Helgesson , AntonyAntony and Joshua HendrixJoshua Hendrix , we have managed to take this project to the next level. By design, Scyllo works out of the box with Typescript Types, aswell as with ScyllaDB.

So let’s get to it already, what makes this library so awesome?!?

Installation

Installation of scylla is relatively easy. Simply instruct your prefered package manager npm or yarn to add it and you should be good to go.

npm install scyllo

Or with yarn

yarn add scyllo

Setup

Setting up Scyllo is as easy as pie. First initialize some types for objects we want to be storing. We will create User and Blogpost as follows:

type User = {
	user_id: string;
	username: string;
	email: string;
	dob: string;
};

type Blogpost = {
	blog_id: string;
	title: string;
	content: string;
	author_id: string;
	publish_date: number;
};

Keep in mind that in the above example we are using type, you could also use interface or class definitions.

Now let’s initialize the Client!

const DB = new ScylloClient<{
	users: User,
	posts: Blogpost
}>({
	client: {
	    contactPoints: ["localhost:9042"], // Where to access the database
	    keyspace: "mykeyspace", // Default keyspace
	    localDataCenter: "datacenter1", // Local Datacenter
	}
});

Next Steps

Now that we have created the client we can run a variety of functions on our database to just list a few:

Finalization

With all of these crazy things above, fully typed using generics, tested using jest, and object-mapped to and from its javascript equivalents it has become a library as easy to use as a document database, but the performance of an in-memory, and the flexibility of your average relational. Yes, it might be a bit of a mess, but it is a hell of a good one to say the least.

For more information about Scyllo, check these links out:

Scyllo Github

Scyllo NPM

~Luc