SQL layers on NoSQL databases

What are the SQL layer solution over NoSQL databases such as key/value stores?

Phoenix: A SQL layer on HBase:

https://github.com/forcedotcom/phoenix

They also show some performance results:

https://github.com/forcedotcom/phoenix/wiki/Performance


F1 – The Fault-Tolerant Distributed RDBMS Supporting Google’s Ad Business:

http://research.google.com/pubs/pub38125.html

With F1, we have built a novel hybrid system that combines the
scalability, fault tolerance, transparent sharding, and cost benefits
so far available only in “NoSQL” systems with the usability,
familiarity, and transactional guarantees expected from an RDBMS.


Tenzing A SQL Implementation On The MapReduce Framework:

http://research.google.com/pubs/pub37200.html

Tenzing is a query engine built on top of MapReduce for ad hoc
analysis of Google data. Tenzing supports a mostly complete SQL
implementation (with several extensions) combined with several key
characteristics such as heterogeneity, high performance, scalability,
reliability, metadata awareness, low latency, support for columnar
storage and structured data, and easy extensibility. Tenzing is
currently used internally at Google by 1000+ employees and serves
10000+ queries per day over 1.5 petabytes of compressed data. In this
paper, we describe the architecture and implementation of Tenzing, and
present benchmarks of typical analytical queries.


HAWQ from EMC:

http://www.emc.com/about/news/press/2013/20130225-04.htm

HAWQ (pronounced hawk) represents the EMC Greenplum engineering effort
that brings 10 years of large-scale data management research and
development to the Apache Hadoop framework. Leveraging the feature
richness and maturity of the industry leading Greenplum MPP analytical
database, this innovation has resulted in the world’s first true SQL
parallel database on top of the Hadoop Distributed File System (HDFS).

http://www.theregister.co.uk/2013/02/25/emc_pivotal_hd_hadoop_hawq_database/

Project Hawq, the SQL database layer that rides atop of HDFS rather
than trying to replace it with a NoSQL data store


Apache Hive: http://hive.apache.org/

It defines a SQL-like language called HiveQL.


Stinger Initiative: Making Apache Hive 100 Times Faster: http://hortonworks.com/blog/100x-faster-hive/


Cloudera Impala

http://blog.cloudera.com/blog/2012/10/cloudera-impala-real-time-queries-in-apache-hadoop-for-real/

Source code:

https://github.com/cloudera/impala

it uses the same metadata, SQL syntax (Hive SQL), ODBC driver and user
interface (Hue Beeswax) as Apache Hive, providing a familiar and
unified platform for batch-oriented or real-time queries.


Spire:

Home: https://drawntoscalehq.com/

Spire is the first SQL database for large, user-facing applications
built on Hadoop. Spire is built to power large-scale websites, mobile
apps, and machine-to-machine data.

Unlike any other Hadoop and SQL solution, Spire scales to tens of
thousands of reads and writes per second, with full ANSI SQL and
intuitive management tools.

Architecturally similar to Google F1, Spire makes it simple to build
applications for the Big Data Era.


Hadapt: http://hadapt.com/

Hadapt unifies SQL and Hadoop, enabling customers to analyze all of their data (structured, unstructured, and multi-structured) in a single platform – no connectors, complexities, or rigid structure.

Similar Posts

  • Formatting code shortcuts in Eclipse

    Formatting code shortcuts in Eclipse. Shortcut: Ctrl + Shift + F No need to select the code. Read more: C++ cout formatting output Large-but-correctly-aligned-and-optimized code is faster than less-bytes-per-instruction/opcode-packed code How to get the assembly code for OCaml code generated by ocamlopt? Google Chrome keyboard and mouse shortcuts for Linux and Windows In Vim, are…

  • How to install Adobe Reader on Linux Mint 17?

    How to install Adobe Reader on Linux Mint 17? First, add Canonical PPA repository sudo add-apt-repository “deb http://archive.canonical.com/ precise partner” Then, update apt cache and install Adobe Reader sudo aptitude update sudo aptitude install acroread You can select “Yes” to set Adobe Reader as the default PDF viewer or “No” to not set it. E.Z.M.,…

  • Chrome reports “Adobe Flash Player was blocked because it is out of date.”

    On Linux (Fedora 17 x86-64), Chrome keeps reporting “Adobe Flash Player was blocked because it is out of date.” every time I browse a page that contains Flash. How to fix this? I did this and it turned to be working for me: Disable the libpepflashplayer in Chrome by run chrome://plugins/ in the URL bar….

  • How to rearrange Alt, Ctrl and Win keys on Linux: Win as Alt and Ctrl/Alt as Ctrl

    How to rearrange Alt, Ctrl and Win keys on Linux: Win as Alt and Ctrl/Alt as Ctrl? On Linux, the Win key is seldom used. Mapping the Alt keys which are close to my thumb is damn convenient for Emacs users. Hence, the keyboard at the bottom line would look like: ———————————————————— |Ctrl|Alt|Ctrl| Space Bar…

  • MFC程序使用系统风格界面

    VC6默认编译出来的程序在XP下Luma风格下运行也是Windows的经典界面, 有损界面的美观与统一. VC2008默认设置下如果不是使用的unicode也是如此. 本文给出使VC6和VC2008可以编译出使用系统界面风格的解决方案. 1. 使VC6编译出使用系统风格的程序 步骤如下: 1) 创建一个.manifest文件的资源. 在res/文件夹下创建一个跟以程序名加.manifest的文件, 如果程序为test.exe, 则创建test.exe.manifest 文件可由此下载: https://www.systutorials.com/t/g/programming/resultcollector.manifest/ 注意要使用utf-8编码保存。 2) 将新定义的资源加入到.rc2文件中, 类型设为24. 打开res/文件夹下的.rc2文件, 在其中加入如下定义: 1 24 MOVEABLE PURE “res/test.exe.manifest” 其中的文件地址按1)步中修改的设置即可. 之后编译即可, 为了使程序界面可能充分利用系统的界面特性, 可以将界面字体设置为TrueType类型的, 利用Windows XP等系统的屏幕字体平滑特性. 2. 使VC2008编译出使用系统风格的程序 在VC2008下就比较简单了, 如果程序字符集使用unicode则默认就是使用系统界面风格的, 如果选择其它的类型, 则编辑下stdafx.h即可. 最后面部分找到这么一段: #ifdef _UNICODE #if defined _M_IX86 #pragma comment(linker,”/manifestdependency:”type=’win32′ name=’Microsoft.Windows.Common-Controls’ version=’6.0.0.0′ processorArchitecture=’x86′ publicKeyToken=’6595b64144ccf1df’ language=’*'””) #elif defined _M_IA64 #pragma comment(linker,”/manifestdependency:”type=’win32’…

  • Maximum number of mmap()’ed ranges and how to set it on Linux?

    What’s the maximum number of mmap()‘ed ranges that a process can makes and how to set the limits on Linux? I have a program that mmap()s and mprotect()s lots ranges. After allocating many ranges, mprotect() starts to fail with ENOMEM error number. From the man page, ENOMEM means 2 possible problems: ENOMEM Internal kernel structures…

Leave a Reply

Your email address will not be published. Required fields are marked *