Illustration Image

7/8/2022

Reading time:2

Apache Cassandra Lunch #87: Cassandra.api, Astra, and Stargate - Business Platform Team

Placeholder

This resource is based on an article originally published here.

In Apache Cassandra Lunch #87: Cassandra.api, Astra, and Stargate, we discussed using AstraDBs included Stargate API layer to substitute for the written Node and Python APIs in our Cassandra.api project. The live recording of Cassandra Lunch, which includes a more in-depth discussion and a demo, is embedded below in case you were not able to attend live. If you would like to attend Apache Cassandra Lunch live, it is hosted every Wednesday at 12 PM EST. Register here now!

Datastax Astra

Astra is a cloud native Database as a Service offered by Datastax. Its core is a version of Apache Cassandra, surrounded by supporting technologies and managed by Datastax. Astra offers a potentially cheaper option to users of Cassandra, while also relieving users of the burden of operating their own instances. Astra was used as the backend database for the original Cassandra.Api project alongside REST apis written in Python and Node.

Stargate

Stargate is an API gateway that sits between applications and Cassandra Databases. It is compatible with Astra,Cassandra 3.x,Cassandra 4.0, and DSE 6.8. Stargate creates a number of different APIs for representing and accessing Cassandra data. These include the Rest API (JSON w/ schema dependent endpoints), the Document API (Schemaless json), and the GraphQL API. Stargate works by creating coordinator nodes as part of a Cassandra cluster.

Coordinator nodes don’t store data, but they can communicate with other Cassandra nodes that do. Then Stargate uses this functionality in order to furnish requests without having to store any data from the Cassandra cluster.

Stargate Internals

Stargate splits into three sections: API Extensions – Defines APIs and converts requests to and from database queries. It handles communication with clients and databases.

Persistence Extensions – Communicates with the underlying database. Separate ones for different Cassandra versions. It uses Cassandra Java classes and interacts with internal Cassandra objects.

Authentication Extensions – This section controls access to stargate

Cassandra.Link

Cassandra.Link is a knowledge base that we created for all things Apache Cassandra. Our goal with Cassandra.Link was to not only fill the gap of Planet Cassandra but to bring the Cassandra community together. Feel free to reach out if you wish to collaborate with us on this project in any capacity.

We are a technology company that specializes in building business platforms. If you have any questions about the tools discussed in this post or about any of our services, feel free to send us an email!

Related Articles

logo
mongo
rest
cassandra

Explore Further

stargate

cassandra.lunch

cassandra

Become part of our
growing community!
Welcome to Planet Cassandra, a community for Apache Cassandra®! We're a passionate and dedicated group of users, developers, and enthusiasts who are working together to make Cassandra the best it can be. Whether you're just getting started with Cassandra or you're an experienced user, there's a place for you in our community.
A dinosaur
Planet Cassandra is a service for the Apache Cassandra® user community to share with each other. From tutorials and guides, to discussions and updates, we're here to help you get the most out of Cassandra. Connect with us and become part of our growing community today.
© 2009-2023 The Apache Software Foundation under the terms of the Apache License 2.0. Apache, the Apache feather logo, Apache Cassandra, Cassandra, and the Cassandra logo, are either registered trademarks or trademarks of The Apache Software Foundation. Sponsored by Anant Corporation and Datastax, and Developed by Anant Corporation.

Get Involved with Planet Cassandra!

We believe that the power of the Planet Cassandra community lies in the contributions of its members. Do you have content, articles, videos, or use cases you want to share with the world?