Database overview
DSE is a self-managed database, powered by Apache Cassandra®, an open-source NoSQL distributed database.
DSE for vector search applications
The DSE database is designed for vector search applications, such as Generative AI (GenAI), semantic search, and geospatial search, as well as traditional NoSQL applications. The DSE database stores vector embeddings alongside non-vector tabular data. If you are building Retrieval Augmented Generation (RAG)-based applications, you can use this database. A few examples of RAG applications include:
-
AI assistants or chatbots
-
Agents
-
Document questions and answers
-
Sentiment analysis
-
Personalization
-
Image, video, or audio search
DSE for schema-driver applications
The DSE database is designed to also be used for schema-driven applications, such as e-commerce, financial services, and IoT. If you are building applications that require a schema, you can use the Cassandra Query Language (CQL) to interact with the database. Oftentimes, applications may require both data stored in a tabular format and data stored in a schemaless format.
DSE is designed to support both types of applications.
Namespaces versus keyspaces
As technology evolves, so does the terminology used to describe it. The Cassandra® community describes the database components with these terms: cluster, keyspace, table, and column. A keyspace is a container for tables, similar to a schema in a relational database. As language for developers has shifted, this has led to confusion among users and developers. "Namespaces," "collections," and "documents" are more familiar terms for developers. Depending on the database and features you are using in DSE, you might see different terminology used.
This table shows the terminology used:
Clients (Data API-based) | Drivers (CQL-based) |
---|---|
Namespace |
Keyspace |
Collection |
Table |
Document |
Row |
Field |
Column |
The Data API and clients for DSE use namespace. The DSE uses keyspace in discussions of CQL and using drivers, but namespace when interacting with your database through the Data API or clients.