It seems that with our third database patent, Couchbase is keeping the US Patent & Trademark Office very busy. We are thrilled to announce that Couchbase has been granted its third database patent in the last nine months.
The Third Database Patent, 11,416,458 B2 covers how databases can index the complete contents of array fields within JSON documents. Prior to this database patent, databases that support JSON arrays as data elements were only able to create one index for the array, thus skipping the ability to index each value in an array.
Congratulations to Sitaram, Steve, Keshav, and Abhinav!
This functionality was described by our Couchbase development team in this D-Zone Blog, and became the foundation for a new series of indexes used within Couchbase, including as the backbone for our “Flex Index” feature released in Couchbase Server 6.6 and also available in Couchbase Capella.
The inspiration for this idea was when we discovered that one of our keynote customers, Verizon, was using Couchbase and popular search technology, ElasticSearch in conjunction with each other to facilitate analytics upon millions of IoT device activities. The challenge was that it was impossible to identify and index each device using its combination of more than fifty variables found within its activity profile. The customer’s workaround was to replicate the Couchbase-originated data into the search database and use a combination of SQL++ queries from Couchbase along with search-based queries and then reconcile the results from both databases in a downstream data pipeline.
To the Couchbase Engineers, this was an ideal opportunity to eliminate an expensive replication step by using the indexing and query processes from adjacent Couchbase services, the SQL++ Query engine, and the Full-Text Search engine. In this case, the inverted indexes in the search engine provide flexibility in terms of the number of indexes needed for many queries and how the query predicates are processed. The innovation here was to use indexing concepts from the Full-text search index to build compound index entries for array values in the JSON document for each device profile. This was not possible with JSON document databases until Couchbase introduced the FTS engine and combined search-based indexes with SQL++ queries upon JSON.
With this technology, users can index an unlimited number of array keys and query them efficiently using SQL++, without duplicating and exporting the data to another database product. The savings for customers is immense in terms of reducing technological complexity, reducing the costs of operating and replicating multiple databases, and reducing the management and operational overhead of multiple systems and processing steps. All without sacrificing the goal of analyzing the data.
This specific patent focuses on how Couchbase is able to create multiple unique index values from an array field in a JSON document.
Enjoy the abstract from Patent 11,416,458 B2
A database system performs queries on fields storing arrays of a database (i.e., array fields) using de-duplication indexes. The system generates de-duplication indexes for array fields. The de-duplication indexes include unique entries for corresponding distinct values stored by the array fields. The system uses the de-duplication indexes to perform efficient queries specifying corresponding array fields. The system may further generate de-duplication indexes corresponding one or more fields storing various types of values. In various embodiments, the system selects and optimal index from various indexes usable to execute a query, such as a de-duplication index and a conventional index.
- Download the entire third database patent document here.
Check out our other two patents granted this year for query optimization.