Home / Companies / DataStax / Blog / January 2016

January 2016 Summaries

6 posts from DataStax

Filter
Month: Year:
Post Summaries Back to Blog
The Java driver team has released version 3.0.0, which includes full compatibility with Cassandra 2.2 and 3.0, custom codecs, support for four new CQL types (DATE, TIME, SMALLINT, TINYINT), and various improvements to the API. This release is not binary compatible with older versions due to breaking changes, all of which are documented in the upgrade guide. The driver now supports Cassandra's latest features, such as materialized views, user-defined functions and aggregates, and secondary indexes. Additionally, new exception types have been added for server-side errors introduced in Cassandra 2.2, and custom payloads can be sent alongside a query to convey additional metadata when using a custom query handler on the server side. The "extras" module has also been introduced, containing additions to the driver that target a more specific audience or cannot make into the core API due to backwards-compatibility reasons.
Jan 26, 2016 2,101 words in the original blog post.
Token allocation in distributed databases like Cassandra is a complex problem that requires balancing load distribution and the ability to add new nodes without disrupting the existing ones. A common solution has been using high numbers of randomly-allocated token ranges, but this approach can lead to disproportions in individual vnode ranges as more nodes are added. To address this issue, Cassandra 3.0 introduced a new token allocation algorithm that optimizes replicated token ownership distribution during bootstrap. This method allows for better load distribution and improved performance with smaller numbers of vnodes per node compared to random allocation. The algorithm generates candidate tokens and evaluates their effects on the overall replication topology, aiming to distribute the standard deviation in ownership evenly among all nodes.
Jan 26, 2016 1,034 words in the original blog post.
The text discusses the use of Jepsen framework for testing distributed systems, specifically Apache Cassandra. It highlights how Jepsen differs from other testing approaches like unit tests and dtests in terms of state space coverage, controllability, and observability. Jepsen's strength lies in its ability to better explore the state space of both a single node and a whole cluster by embracing concurrency and nondeterminism as the default mode of operation. The text also mentions how Jepsen tests helped identify issues in existing subsystems leading up to the release of Cassandra 3.0, and how it contributed to stabilizing new features like materialized views. It concludes by emphasizing the importance of well-defined models and invariants in testing, test composability, and embracing generative testing for distributed systems.
Jan 20, 2016 1,254 words in the original blog post.
The text discusses enhancements made to CQLSH commands, COPY FROM and COPY TO, for importing and exporting data in Cassandra using CSV files. These improvements were introduced in version 1.1.3 and are available in releases 2.1.13, 2.2.5, 3.0.3, and 3.2. The new features include the ability to change the maximum number of worker processes with NUMPROCESSES option, improved parallel export via token ranges for random and murmur3 partitioners, and batching rows with common partition keys during import. A benchmark shows a significant improvement in data import and export times after these enhancements were implemented. The text also lists various options that can be used with both COPY TO and COPY FROM commands.
Jan 17, 2016 644 words in the original blog post.
Cassandra 3.2 introduces improvements to handling JBOD (Just a Bunch of Disks) configuration, which involves using multiple data_file_directories. Previous versions had issues with running out of disk space during compactions and deleted data resurfacing. To address these problems, the new version ensures that each token is never written in more than one data directory by changing how compaction, flushing, and streaming are done. This also allows for splitting local ranges over data directories and balancing the amount of data in each directory. The resulting sstables will stay in the same compaction strategy instance if all tokens are in the correct place; otherwise, they will be moved to new sstables in the correct data directories. Flushing is now multi-threaded, with one thread per data directory, and streaming allows for backup and restoration of individual disks. Nodetool relocatesstables can help speed up token movement to the correct data directories when needed.
Jan 11, 2016 1,266 words in the original blog post.
The article provides a tutorial on connecting Tableau Software to Apache Cassandra via Apache Spark. It explains how to create a simple Tableau dashboard based on Cassandra data using the Spark ODBC driver for integration. The tutorial includes installation and setup instructions, as well as step-by-step guides for each process. Key points include installing DataStax Enterprise (DSE), starting the Spark Thrift JDBC/ODBC server, creating demo data, downloading and installing the Databricks ODBC driver for Spark, connecting Tableau Software to Apache Spark server, setting up Cassandra connection, creating a Tableau dashboard, and checking SQL queries generated on the fly.
Jan 11, 2016 767 words in the original blog post.