In-Stream Big Data Processing

August 20, 2013



The shortcomings and drawbacks of batch-oriented data processing were widely recognized by the Big Data community quite a long time ago. It became clear that real-time query processing and in-stream processing is the immediate need in many practical applications. In recent years, this idea got a lot of traction and a whole bunch of solutions […]

Posted in: Big Data, Fundamentals, Storm

Distributed Algorithms in NoSQL Databases

September 18, 2012



Scalability is one of the main drivers of the NoSQL movement. As such, it encompasses distributed system coordination, failover, resource management and many other capabilities. It sounds like a big umbrella, and it is. Although it can hardly be said that NoSQL movement brought fundamentally new techniques into distributed data processing, it triggered an avalanche […]

Posted in: NoSQL

Speeding Up Hadoop Builds Using Distributed Unit Tests

August 14, 2012



We recently worked with one of the Hadoop vendors on the continuous integration system for Hadoop core and other Hadoop-related projects like Pig, Hive, HBase. One of the challenges we faced was very slow automatic tests — full unit/integration test suite takes more than 2 hours for Hadoop core and more than 9 hours for […]

Posted in: Case Studies, Jenkins

Fast Intersection of Sorted Lists Using SSE Instructions

June 5, 2012



Intersection of sorted lists is a cornerstone operation in many applications including search engines and databases because indexes are often implemented using different types of sorted structures. At GridDynamics, we recently worked on a custom database for realtime web analytics where fast intersection of very large lists of IDs was a must for good performance. From a functional […]

Probabilistic Data Structures for Web Analytics and Data Mining

May 1, 2012



Statistical analysis and mining of huge multi-terabyte data sets is a common task nowadays, especially in the areas like web analytics and Internet advertising. Analysis of such large data sets often requires powerful distributed data stores like Hadoop and heavy data processing with techniques like MapReduce. This approach often leads to heavyweight high-latency analytical processes and […]

Posted in: Big Data, Fundamentals

Hierarchical Navigation and Faceted Search on Top of Oracle Coherence

April 2, 2012



Some time ago I participated in design of a backend for one large online retailer company. From the business logic point of view, this was a pretty typical eCommerce service for hierarchical and faceted navigation, although not without peculiarities, but high performance requirements led us to the quite advanced architecture and technical design. In particular, we […]

Posted in: Case Studies, Coherence

NoSQL Data Modeling Techniques

March 1, 2012



NoSQL databases are often compared by various non-functional criteria, such as scalability, performance, and consistency. This aspect of NoSQL is well-studied both in practice and theory because specific non-functional properties are often the main justification for NoSQL usage and fundamental results on distributed systems like the CAP theorem apply well to NoSQL systems.  At the same time, NoSQL […]

Posted in: Big Data, Fundamentals

Get every new post delivered to your Inbox.

Join 1,694 other followers