CompanyDecember 7, 2015

DataStax DevCenter 1.5 is now MATERIALIZED with Apache Cassandra® 3.0 support!

Gianluca Righetto
Gianluca Righetto
DataStax DevCenter 1.5 is now MATERIALIZED with Apache Cassandra® 3.0 support!

We’re very pleased to announce the availability of DataStax DevCenter 1.5, which can be downloaded here.
This new version is compatible with Apache Cassandra® 3.0 supporting Materialized Views (blogdocs) and Multiple Indexes (docs) with content assist, quick fix suggestions, validations, and wizards!

You will also find numerous improvements and bug fixes in this release. Without further ado, let me walk you through the most notable features.

 

Materialized Views

Apache Cassandra® 3.0 introduced Materialized Views, which is a powerful feature to handle automated server-side denormalization, removing the need for client-side handling of this denormalization and ensuring eventual consistency between the base and view data.
The new CQL statements for Materialized Views are very similar to the statements to those for Tables. They support pretty much the same properties, with a few exceptions, but don’t worry, DevCenter will help you with that:

MV Validation


Fig 1: Materialized View statements highlighting and validation

Also, when you create a new Materialized View, it requires that you specify as its primary key the same columns in the primary key definition of the base table. This happens automatically for your convenience, if you’re using the Wizard:

MV Wizard


Fig 2: Create Materialized View wizard

Of course, there’s an ALTER wizard too, but please note that you are not allowed to change the definition of a Materialized View meaning that you cannot drop or add columns to an existing view, and therefore we take you straight to the Advanced Settings page:

MV Alter Wizard


Fig 3: Alter Materialized View wizard

Once the views are created they can be found in the Schema View panel at two different levels: as a top-level element under its keyspace node along with all other views in that keyspace, and nested under the base table node, where you will also find all the other views for that specific table only.

Schema View


Fig 4: Materialized Views shown in the Schema View panel

And by right clicking on the Materialized Views in this panel you will have the options to DROP and CLONE them as any other element.
It’s worth mentioning that you cannot drop a base table if you still have views associated with it. If you try to do that, DevCenter will display an error message like this:
 

Drop Table


Fig 5: Drop Table dialog checks for associated views

Multiple Indexes

Starting in Cassandra 3.0, it’s possible to create multiple indices on the same column as long as they don’t duplicate themselves. Let’s see some examples of how that works in the DevCenter CQL editor:

Multiple Indexes


Fig 6: Multiple Indexes support

Also, as you can see in the screenshot above, Cassandra 3.0 introduced the keyword VALUES for indices on a Map column. Previously, if there was no specific index type for a Map column, Cassandra would assume it was a values index, but now you can make it explicit by using the keyword. In DevCenter, it’s fine to use both notations, we treat them as the same thing, so in the example above, you can see that the index in line 13 is actually duplicating the index in line 12.

The Index Wizard has been updated, too. Up until now the Index Wizard would propose each column only once, but starting in DevCenter 1.5, it will recognize when you’re connected to a Cassandra 3.0 cluster and propose the same column multiple times.

UDF/UDT Drop Dialogs

DevCenter 1.5 now makes it easy to drop User-defined Types and User-defined Functions.
Dropping a schema element in CQL usually takes the form DROP <element-type> <element-name>, but for functions, when there are overloads, it’s required that you specify the entire function signature like this:

Drop Function Example


Fig 7: Drop function with full signature

Instead of doing that, now you can simply right-click on the function you want to drop in the Schema View and select the Drop Function option:
 

Drop Function Menu


Fig 8: Drop function context menu

Similarly to the Materialized View and base Table reference check, we also check for references when dropping a function (that could be referenced by an Aggregate) and a Type (that could be referenced by a Table or another UDT) and if that’s the case you will see an error message listing all the dependencies.

Improved Timestamp Format

It has been requested by a few of our users (through the built-in Feedback form – don’t hesitate to use it, too) to have the dates in DevCenter use the same format as in cqlsh (the CQL shell for command-line queries) and now this is the format used:

New Date Format


Fig 9: Improved date format in the results grid and details panel

New Icons for Schema Entities

DevCenter 1.5 has some new and updated icons for schema entities that stand out more and provide a better indication of their purpose, check them out in the screenshot below:

New IconsNew Icons Schema
 

 

 

 

 

 

Fig 10: New icons for functions, aggregates, types and materialized views

Share

One-stop Data API for Production GenAI

Astra DB gives JavaScript developers a complete data API and out-of-the-box integrations that make it easier to build production RAG apps with high relevancy and low latency.