Home / Companies / DataStax / Blog / July 2020

July 2020 Summaries

13 posts from DataStax

Filter
Month: Year:
Post Summaries Back to Blog
The recent release of Apache Cassandra 4.0 brings significant performance improvements, particularly when combined with new garbage collectors such as ZGC and Shenandoah. Benchmarks show that Cassandra 4.0 outperforms its predecessor, Cassandra 3.11.6, in both throughput and latency. Shenandoah, a low-latency garbage collector developed by RedHat, delivers impressive results under moderate load but may struggle with spiky loads. ZGC also shows promise, particularly when combined with JDK 14, although it currently lags behind Shenandoah in terms of throughput and latency. Overall, the combination of Apache Cassandra 4.0 and these new garbage collectors offers a promising future for latency-sensitive use cases.
Jul 28, 2020 2,006 words in the original blog post.
In this tutorial, we will be using Apache Cassandra to store data about restaurants in the Denver area. We will use DataStax Astra as our managed cloud service for running Cassandra and dsbulk to load data into it. Additionally, we will demonstrate how to perform geospatial queries on the data using a combination of CQL (Cassandra Query Language) and a third-party geohashing library. Finally, we will use NoSQL bench to generate workloads for testing performance. First, create an account on Astra and set up a new database instance with a name like "DenverRestaurants". Then, download the secure connect bundle from your newly created database instance. This bundle contains all the necessary information to connect to your Astra database securely using any DataStax driver. Next, install dsbulk on your local machine and use it to load data into your Astra database. To do this, first download a CSV file containing restaurant data for the Denver area from a public API or dataset. Then, create a new keyspace in your Astra database called "map_data" with two tables: "star" and "geohash". Now, use dsbulk to load the restaurant data into the "star" table using the following command: ```bash dsbulk load -url restaurants.csv -k map_data -t star -header true -maxThreads 4 ``` This will create a new row in the "star" table for each restaurant, with columns such as name, address, and coordinates. Next, we want to add geospatial functionality to our database so that we can easily find nearby restaurants based on their location. To do this, we will use a technique called geohashing, which involves converting latitude and longitude coordinates into an alphanumeric identifier known as a "geohash". This allows us to quickly search for all the restaurants within a certain area by simply looking up the corresponding geohash value. To add this functionality to our Astra database, we will create another table called "geohash" with columns for latitude, longitude, and a 5-digit geohash prefix. Then, we can use CQL (Cassandra Query Language) to query the "star" table based on these geohash values. For example, if we want to find all the restaurants within a certain area around the Denver Art Museum, we can first look up its coordinates and then convert them into a 5-digit geohash prefix using an online tool like geohash.org. We can then use this prefix in our CQL query to select only those rows from the "star" table that have matching values in their "geohash_five" column: ```cql SELECT star FROM map_data.star WHERE geohash_five = '9XJ64'; ``` This will return all the restaurants within this area, which we can then display on a map using JavaScript or another front-end framework. Finally, to test the performance of our Astra database under various workloads, we can use NoSQL bench - an open source tool for generating synthetic workloads and measuring their impact on Cassandra clusters. To run NoSQL bench against our Astra database, first install it using Docker: ```bash docker pull datastax/nosqlbenchmark ``` Then, create a new configuration file for your test scenario (e.g., "iot_baseline.yaml") and specify the necessary connection details for your Astra database, such as the secure connect bundle path, username, password, etc. Finally, run NoSQL bench with this configuration file to start generating workloads: ```bash docker run -v /path/to/secure_connect_bundle:/tmp/secure-connect-DenverRestaurants datastax/nosqlbenchmark -config=iot_baseline.yaml ``` This will begin running the specified test scenario against your Astra database, allowing you to monitor its performance and adjust settings as needed.
Jul 27, 2020 7,842 words in the original blog post.
Cassandra is a NoSQL database that allows denormalization and data duplication. It supports user-defined types (UDTs), which are custom data types containing one or more fields with individual data types, including collections like Sets, Lists, and Maps. UDTs enable grouping multiple fields and storing nested objects in the same table instead of separate tables. This design makes data easy to read and offers flexibility without significantly impacting performance. DataStax drivers can serialize and deserialize UDTs into POJO's/Domain objects for various languages, such as Java Spring Boot applications. For more information or feedback, contact [email protected] or @DataStaxDevs.
Jul 24, 2020 296 words in the original blog post.
Cassandra is a NoSQL database that allows denormalization and data duplication. It supports user-defined types (UDTs), which are custom data types containing one or more fields with individual data types, including collections. UDTs enable grouping multiple fields and storing nested objects in the same table instead of separate tables. This design makes data easy to read and offers flexibility without significantly impacting performance. DataStax drivers can serialize and deserialize UDTs into POJO's/Domain objects for various languages, such as Java Spring Boot applications.
Jul 24, 2020 296 words in the original blog post.
Season 1 of Accelerate: A NoSQL Original Series has concluded, featuring discussions on innovations in open-source, scale-out, and cloud-native app development within the Cassandra community. Highlights included conversations with T-Mobile CIO Cody Sanford and DataStax CEO Chet Kapoor about data-driven enterprises, a panel exploring Astra as an easy way to access Cassandra in the cloud, insights on leveraging open source for building data-driven apps, and lessons learned from using Cassandra. Season 2 has been greenlit, with more exciting content to come.
Jul 22, 2020 412 words in the original blog post.
The Apache Cassandra community has released the beta version of Cassandra 4.0, which includes over 1000 bug fixes and improvements. This release aims to build a robust foundation for handling demanding data challenges. Cassandra is well-suited for cloud-native applications due to its peer-to-peer architecture, elasticity, and resilience. The community has been working on making the data tier as reliable as stateless components in these applications. New APIs are being developed to provide more power, flexibility, and speed to modern cloud native application developers. Cassandra 4.0 is the beginning of a cloud-native future for the platform, with a focus on improving data extraction capabilities and making it easier to integrate with other systems for search, analytics, and machine learning purposes.
Jul 21, 2020 458 words in the original blog post.
The text discusses the process of migrating a multi-cloud Database-as-a-Service (DBaaS) for Apache Cassandra® applications called Astra. It outlines four steps to perform this migration, which includes creating a corresponding table in the destination cluster, downloading access credentials as a secure connect bundle, starting Spark with the Spark Cassandra Connector, and using DataFrame API to read data from the source cluster and write it to the destination cluster. The text also mentions that migrating your first Cassandra application is free and offers assistance from the DataStax team for more complex migrations.
Jul 20, 2020 425 words in the original blog post.
In May, a multi-cloud Database-as-a-Service called Astra was launched, built on Apache Cassandra. Thousands of users have joined the platform since its inception. The developers are confident that Astra is ready for use with Cassandra applications and are offering to migrate the first application for free. There are no hidden catches or shortcuts involved. Users need only provide details about their application, after which experts will review the data model and workload requirements to determine Astra sizing needs. Once prepared, the application can be transferred over. To schedule a consultation with experts, users can click on the provided button. Astra is designed as a zero-ops, zero-lockin, cloud-native solution for Cassandra applications.
Jul 20, 2020 124 words in the original blog post.
The text discusses the process of migrating a multi-cloud Database-as-a-Service (DBaaS) for Apache Cassandra® applications called Astra. It mentions that portions of the architecture and tooling backing it are open-sourced, and users can migrate their first Cassandra application to Astra for free. The migration process is outlined in four steps: creating a corresponding table in the destination cluster, downloading access credentials as a secure connect bundle, starting Spark with the Spark Cassandra Connector, reading data from the source cluster using DataFrame API, and writing data to the destination cluster. The text also mentions that users can use RDD API for migration but it is more verbose. It concludes by encouraging users to try migrating their existing database to DataStax Astra using Spark Cassandra Connector 2.5.1 with Apache Spark, and assures help from the DataStax team if needed.
Jul 20, 2020 425 words in the original blog post.
Apache Cassandra has proven to be a powerful database solution for tough data challenges where relational databases fail. However, using it with Java can be challenging due to the need for direct connections and managing configurations across multiple environments. Adopting a cloud-native application development approach can help alleviate these issues by leveraging DevOps, continuous delivery, microservices, and containers. DataStax has partnered with VMware to improve Cassandra's integration in Spring Boot and Spring Data, and with RedHat to develop the Quarkus Cassandra Extension. These integrations aim to save developers time and effort while modernizing their applications towards a cloud-native approach. By utilizing frameworks like Spring and Quarkus, developers can build microservices with Cassandra integration and deploy them in Kubernetes more easily. This allows for faster iteration, improved performance, and reduced learning curve compared to other languages. Java communities are producing new innovations to keep the language relevant in the cloud-native world, making it a viable option for building data services alongside Cassandra.
Jul 16, 2020 892 words in the original blog post.
DataStax has launched a new learning experience for both novice and experienced Cassandra users at datastax.com/dev. The "DataStax for Developers" site offers embedded hands-on learning scenarios where users can apply concepts as they learn them by interacting with a live Cassandra cluster. It includes the Try it Out section, which allows users to write CQL and code in Java, Python or node.js within minutes. Additionally, users can get their own free database using DataStax Astra for further learning, experimentation, and app building. The site also features an initial set of "skills" pages with additional scenarios to help learn data modeling, Cassandra-Kafka integration, and deploying Cassandra on Kubernetes. Future plans include delivering more skills pages on Cassandra fundamentals and integrations with other technologies commonly used in modern cloud-native application development. Feedback is welcome at [email protected] or via Twitter: @datastaxdevs.
Jul 10, 2020 220 words in the original blog post.
DataStax has introduced a new learning experience for both novice and experienced Cassandra users at datastax.com/dev. The "DataStax for Developers" site features embedded hands-on learning scenarios where users can apply concepts as they learn them by interacting with a live Cassandra cluster. It includes an initial set of "skills" pages with additional scenarios to help users learn data modeling, integration with Kafka, and deployment on Kubernetes. The site also provides instructions for setting up a free database using DataStax Astra. Future content will focus on Cassandra fundamentals and integrations with other technologies commonly used in modern cloud-native application development. Feedback is welcome at [email protected] or @DataStaxDevs.
Jul 10, 2020 220 words in the original blog post.
DataStax has launched a new learning experience called "DataStax for Developers" at datastax.com/dev. The site offers embedded hands-on scenarios where users can apply concepts as they learn them by interacting with live Cassandra clusters. It includes an initial set of skills pages and additional scenarios to help developers create data models, integrate Cassandra and Kafka, and deploy Cassandra on Kubernetes. The learning experience is built using O'Reilly's Katacoda technology, and users can get a free database using DataStax Astra for further learning and experimentation. Feedback is welcome at [email protected] or @datastaxdevs.
Jul 08, 2020 326 words in the original blog post.