LogicBlox Platform Technology
We believe that a transition towards declarative modeling is inevitable. Declarative modeling in LogiQL allows domain experts and business people who aren’t (and don’t want to be) professional programmers to effectively automate their work and decision-making. LogiQL also helps sophisticated programmers be more productive. LogiQL models are shorter and easier to write, test, and verify.
LogiQL is used to build applications that combine transactional, analytical, graph, probabilistic, and mathematical programming. LogiQL makes possible new classes of hybrid applications that are hard or impossible to build on a traditional technology stack that requires a hairball of multiple programming languages and databases.
LogiQL abstracts away the complexities that would otherwise hinder programmers from taking advantage of these capabilities. Because LogiQL is purely declarative, it lends itself to many different implementation strategies. LogiQL queries afford the database many degrees of freedom in how data is stored, how a query may be evaluated or results cached, and how concurrent transactions may be evaluated to maximize throughput. LogiQL abstracts away much of the complexity of multi-core and cloud programming.
Query Optimization – The LogicBlox query optimizer efficiently explores the space of possible strategies using its patent-pending method, and is mathematically proven to find an optimal strategy with respect to the approximated cost, within a small bound.
Query Evaluation – Traditional pair-wise join evaluations can only take advantage of the selectivity of relations two at a time. The LogicBlox query evaluation algorithm utilizes the selectivity of all relations involved in a query to obtain results while doing much less work. This patent-pending method is mathematically proven to be worst-case optimal.
Incremental View Maintenance – Materialized views are crucial to the performance of complex analytical queries; however, the cost associated with their maintenance in case of data updates have discouraged their adoption. LogicBlox implements a view maintenance algorithm that efficiently maintains views with cost proportional to the difference in computing the views over the old and the changed data sets.
Concurrent Transaction Management – LogicBlox supports fully serializable, concurrent read and write transactions. Our patent-pending concurrency management technique spends CPU cycles doing useful work — query evaluation — rather than managing contention of locks. We guarantee that a transaction will never be aborted due to contention.
Smarter Predictive Analytics – LogicBlox supports a wide range of in-database statistical methods, from regression, to classification, to clustering, to dimensionality reduction. These implementations offer orders of magnitude speed-ups over traditional implementations of these methods.
Integrated Optimization – LogicBlox doesn’t just let you query for data you know how to find; it lets you specify what you are looking for using LogiQL constraints, and translates the constraints into a mathematical optimization problem. We use smart solvers to find the answer you are looking for, guaranteed to be optimal.