Author: buildbot
Date: Sat Aug 9 15:00:07 2014
New Revision: 918838
Log:
Staging update by buildbot for drill
Modified:
websites/staging/drill/trunk/content/ (props changed)
websites/staging/drill/trunk/content/drill/about.html
websites/staging/drill/trunk/content/drill/architecture.html
websites/staging/drill/trunk/content/drill/community.html
websites/staging/drill/trunk/content/drill/download.html
websites/staging/drill/trunk/content/drill/faq.html
websites/staging/drill/trunk/content/drill/index.html
websites/staging/drill/trunk/content/drill/overview.html
Propchange: websites/staging/drill/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sat Aug 9 15:00:07 2014
@@ -1 +1 @@
-1616921
+1616961
Modified: websites/staging/drill/trunk/content/drill/about.html
==============================================================================
--- websites/staging/drill/trunk/content/drill/about.html (original)
+++ websites/staging/drill/trunk/content/drill/about.html Sat Aug 9 15:00:07
2014
@@ -26,7 +26,7 @@
<div id="menu" class="mw">
<ul>
- <li class="logo"><a href="/index.html"></a></li>
+ <li class="logo"><a href="/drill/index.html"></a></li>
<li>
<a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki"
target="_blank">Documentation</a>
Modified: websites/staging/drill/trunk/content/drill/architecture.html
==============================================================================
--- websites/staging/drill/trunk/content/drill/architecture.html (original)
+++ websites/staging/drill/trunk/content/drill/architecture.html Sat Aug 9
15:00:07 2014
@@ -1,188 +1,188 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="UTF-8">
- <title>Apache Drill - Architecture</title>
-
- <link href="css/style.css" rel="stylesheet" type="text/css">
- <link href="css/arrows.css" rel="stylesheet" type="text/css">
- <link href="css/button.css" rel="stylesheet" type="text/css">
-
- <script language="javascript" type="text/javascript"
src="js/lib/jquery-1.11.1.min.js"></script>
- <script language="javascript" type="text/javascript"
src="js/lib/jquery.easing.1.3.js"></script>
- <script language="javascript" type="text/javascript"
src="js/modernizr.custom.js"></script>
- <script language="javascript" type="text/javascript"
src="js/script.js"></script>
-
- </head>
-
- <body onResize="resized();">
-
- <div class="bui"></div>
-
- <div id="search">
- <input type="text" placeholder="Enter search term here">
- </div>
-
- <div id="menu" class="mw">
-
- <ul>
- <li class="logo"><a href="/index.html"></a></li>
-
- <li>
- <a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki"
target="_blank">Documentation</a>
- <ul>
- <li><a href="overview.html">Overview</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes"
target="_blank">Drill in 10 minutes</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingaFileSystem"
target="_blank">Query Files</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHBaseTables"
target="_blank">Query HBase</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHiveTables"
target="_blank">Query Hive</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/SQL+Overview"
target="_blank">SQL Support</a></li> <li><a
href="architecture.html">Architecture</a></li>
- </ul>
- </li>
- <li>
- <a href="community.html">Community</a>
- <ul>
- <li><a href="community.html#events">Events and
Meetups</a></li>
- <li><a href="community.html#mailinglists">Mailing
Lists</a></li>
- <li><a href="community.html#getinvolved">Get
Involved</a></li>
- <li><a
href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue
Tracker</a></li>
- <li><a
href="https://github.com/apache/incubator-drill" target="_blank">Github</a></li>
- </ul>
- </li>
- <li><a href="faq.html">FAQ</a></li>
-
- <li class="l"><span> </span></li>
- <li class="d"><a href="download.html">Download</a></li>
- </ul>
-
- </div>
-
- <div class="int_title int_title_img architecture">
- <h1>Architecture</h1>
- <p>
- Apache Drill is a low latency distributed query engine for
large-scale datasets, including structured and semi-structured/nested data.
Inspired by Google's Dremel, Drill is designed to scale to several thousands of
nodes and query petabytes of data at interactive speeds that BI/Analytics
environments require.
- </p>
- </div>
-
- <div class="int_text">
-
- <h2>High-Level Architecture<h2>
-
- <p>Drill includes a distributed execution environment, purpose
built for large-scale data processing. At the core of Apache Drill is the
'Drillbit' service, which is responsible for accepting requests from the
client, processing the queries, and returning results to the client.</p>
-
- <p>A Drillbit service can be installed and run on all of the
required nodes in a Hadoop cluster to form a distributed cluster environment.
When a Drillbit runs on each data node in the cluster, Drill can maximize data
locality during query execution without moving data over the network or between
nodes. Drill uses ZooKeeper to maintain cluster membership and health-check
information.</p>
-
-<p>Note that though Drill works in a Hadoop cluster environment, Drill is not
tied to Hadoop and can run in any distributed cluster environment. The only
pre-requisite for Drill is Zookeeper.</p>
-
- <h2>Query Flow in Drill</h2>
-
- <p>
-
- The following image represents the flow of a Drill query:
- <img src="images/arc-1.jpg" alt="The flow of a Drill query"
width="550">
-
- The flow of a Drill query typically involves the following
steps:
-
- </p>
- <ul class="num">
- <li>The Drill client issues a query. A Drill client is a JDBC,
ODBC, command line interface or a REST API. Any Drillbit in the cluster can
accept queries from the clients. There is no master-slave concept.</li>
- <li>The Drillbit then parses the query, optimizes it, and
generates a distributed query plan that is optimized for fast and efficient
execution.</li>
- <li>The Drillbit that accepts the query becomes the driving
Drillbit node for the request. It gets a list of available Drillbit nodes in
the cluster from ZooKeeper. The driving Drillbit determines the appropriate
nodes to execute various query plan fragments to maximize data locality.</li>
- <li> The Drillbit schedules the execution of query fragments
on individual nodes according to the execution plan.</li>
- <li>The individual nodes finish their execution and return
data to the driving Drillbit.</li>
- <li>The driving Drillbit streams results back to the
client.</li>
- </ul>
-
- <h2>Core Modules within a Drillbit</h2>
- <p>The following image represents Drillbit components:</p>
-
- <img src="images/arc-2.jpg" alt="Drillbit components"
width="525">
-
- <p>⢠RPC end point: Drill exposes a low overhead protobuf-based
RPC protocol to communicate with the clients. Additionally, a C++ and Java API
layers are also available for the client applications to interact with Drill.
Clients can communicate to a specific Drillbit directly or go through a
ZooKeeper quorum to discover the available Drillbits before submitting queries.
It is recommended that the clients always go through ZooKeeper to shield
clients from the intricacies of cluster management, such as the addition or
removal of nodes.</p>
- <p>⢠SQL parser: Drill uses Optiq, the open source framework, to
parse incoming queries. The output of the parser component is a language
agnostic, computer-friendly logical plan that represents the query.</p>
- <p>⢠Optimizer: Drill uses various standard database
optimizations such as rule based/cost based, as well as data locality and other
optimization rules exposed by the storage engine to re-write and split the
query. The output of the optimizer is a distributed physical query plan that
represents the most efficient and fastest way to execute the query across
different nodes in the cluster.</p>
- <p>⢠Execution engine: Drill provides a MPP execution engine
built to perform distributed query processing across the various nodes in the
cluster. </p>
- <p>⢠Storage plugin interfaces: Drill serves as a query layer on
top of several data sources. Storage plugins in Drill represent the
abstractions that Drill uses to interact with the data sources. Storage plugins
provide Drill with the following information:</p>
-
- <p class="l1">
- ⢠Metadata available in the source<br>
- ⢠Interfaces for Drill to read from and write to data
sources<br>
- ⢠Location of data and a set of optimization rules to help
with efficient and faster execution of Drill queries on a specific data source
- </p>
- <p>
- In the context of Hadoop, Drill provides storage plugins for
files and HBase/M7. Drill also integrates with Hive as a storage plugin since
Hive provides a metadata abstraction layer on top of files, HBase/M7, and
provides libraries to read data and operate on these sources (SerDes and UDFs).
- </p>
-
- <p>When users query files and HBase/M7 with Drill, they can do it
directly or go through Hive if they have metadata defined there. Drill
integration with Hive is only for metadata. Drill does not invoke the Hive
execution engine for any requests. </p>
-
- <p>⢠Distributed cache: Drill uses a distributed
cache to manage metadata (not the data) and configuration information across
various nodes. Sample metadata information that is stored in the cache includes
query plan fragments, intermediate state of the query execution, and
statistics. Drill uses Infinispan as its cache technology.</p>
-
- <h2>Architectural Highlights</h2>
-
- <p>
- The goal for Drill is to bring the SQL ecosystem and performance of
the relational systems to Hadoop scale data WITHOUT compromising on the
flexibility of Hadoop/NoSQL systems. There are several core architectural
elements in Apache Drill that make it a highly flexible and efficient query
engine.
- </p>
-
- <h3>Flexibility</h3>
- <ul>
- <li><p><strong>Dynamic schema
discovery</strong>: Drill does not require schema or type specification for the
data in order to start the query execution process. Instead, Drill starts
processing the data in units called record-batches and discovers the schema on
the fly during processing. Self-describing data formats such as Parquet, JSON,
AVRO and NoSQL databases have schema specified as part of the data itself,
which will be leveraged by Drill dynamically at the query time. Schema can
change over the course of a Drill query, so all of the Drill operators are
designed to reconfigure themselves when such schema changing events occur.
- </p>
-<li><p><strong>Flexible data model</strong>: Drill is purpose-built from
ground up for complex/multi-structured data commonly seen in Hadoop/NoSQL
applications such as social/mobile, clickstream, logs and sensor equipped IOT.
From a user point of view, Drill allows access to nested data attributes, just
like SQL columns, and provides intuitive extensions to easily operate on them.
From an architecture point of view, Drill provides a flexible hierarchical
columnar data model that can represent complex, highly dynamic and evolving
data models and allows efficient processing of it without need to flatten or
materialize it either design time or at execution time. Relational data in
Drill is treated as a special or simplified case of complex/multi-structured
data.
- </p>
-<li><p><strong>Decentralized metadata</strong>: Unlike other SQL-on-Hadoop
technologies or any traditional relational database, Drill does not have a
centralized metadata requirement. In order to query data through Drill, users
do not need to create and manage tables/views in a metadata repository, or rely
on a database administrator group for such a function. <br><br>
-Drill metadata is derived from the storage plugins that correspond to data
sources. Drill supports a varied set of storage plugins that provide a spectrum
of metadata ranging from full metadata such as for Hive, partial metadata such
as for HBase, or no central metadata such as for files. <br><br>
-De-centralized metadata also means that Drill is NOT tied to a single Hive
repository either. Users can query from multiple Hive repositories in a single
query and then combine data with information from HBase tables or a file in the
distributed file system. <br><br>
-Users also have the ability to create metadata (tables/views/databases) within
Drill using the SQL DDL syntax. De-centralized metadata is applicable during
metadata creation. Drill allows persisting metadata in one of the underlying
data sources. <br><br>
-From a client access perspective, Drill metadata is organized just like a
traditional DB <br>(Databases->Tables/Views->Columns). The metadata is
accessible through the ANSI standard INFORMATION_SCHEMA database.
- </p>
-<li><p><strong>Extensibility</strong>: Drill provides an extensible
architecture at all layers, including storage plugin layer, query layer, query
optimization/execution, and client APIs. You can customize any layer for the
specific needs of an organization or you can extend the layer to a broader
array of use cases. <br><br>
-Drill provides a built in classpath scanning and plugin concept to add
additional storage plugins, functions, and operators with minimal
configuration.
-<br><br>
-The following list provides a few examples of Drill's extensible architectural
capabilities:
-<ul>
-<li>A high performance Java API to implement custom UDFs/UDAFs
-<li>Ability to go beyond Hadoop by implementing custom storage plugins to
other data sources such as Oracle/MySQL or NoSQL stores, such as Mongo or
Cassandra
-<li>An API to implement custom operators
-<li>Support for direct execution of strongly specified JSON based logical and
physical plans to help with the simplification of testing, and to enable
integration of alternative query languages other than SQL.
- </p>
-</ul>
-
-</ul>
-
-<h3>Performance</h3>
-
-<p>Drill is designed from the ground up for high performance on large
datasets. Few core elements of Drill processing that help Drill achieve its
performance include:</p>
-<ul>
-<li><p><strong>Distributed engine</strong>: Drill provides a powerful
distributed execution engine for processing queries. Users can submit requests
to any node in the cluster. You can simply add new nodes to the cluster to
scale for larger volumes of data, support more users or to improve performance.
- </p>
-<li><p><strong>Columnar execution</strong>: Drill optimizes for both columnar
storage and execution by using an in-memory data model that is hierarchical and
columnar. When working with data stored in columnar formats such as Parquet,
Drill avoids disk access for columns that are not involved in an analytic
query. Drill also provides an execution layer that performs SQL processing
directly on columnar data without row materialization. The combination of
optimizations for columnar storage and direct columnar execution significantly
lowers memory footprints and provides faster execution of BI/Analytic type of
workloads.
- </p>
-<li><p><strong>Vectorization</strong>: Rather than operating on single values
from a single table record at one time, vectorization in Drill allows the CPU
to operate on vectors, referred to as a Record Batches. Record Batches are
arrays of values from many different records. The technical basis for
efficiency of vectorized processing is modern chip technology with
deep-pipelined CPU designs. Keeping all pipelines full to achieve efficiency
near peak performance is something impossible to achieve in traditional
database engines, primarily due to code complexity.
- </p>
-<li><p><strong>Runtime compilation</strong>:
-Runtime compilation is faster compared to the interpreted execution. Drill
generates highly efficient custom code for every single query for every single
operator. Here is a quick overview of the Drill compilation/code generation
process at a glance.
-<br><img src="images/drillcompiler.png" width="500">
- </p>
-<li><p><strong>Optimistic and pipelined query execution</strong>: Drill adopts
an optimistic execution model to process queries. Drill assumes that failures
are infrequent within the short span of a query and therefore does not spend
time creating boundaries or checkpoints to minimize recovery time. Failures at
node level are handled gracefully. In the instance of a single query failure,
the query is rerun. Drill execution uses a pipeline model where all tasks are
scheduled at once. The query execution happens in-memory as much as possible to
move data through task pipelines, persisting to disk only if there is memory
overflow.
- </p>
-</ul>
-
-
-
-
-
- </div>
-
- <div id="footer" class="mw">
- <div class="wrapper">
- Copyright © 2012 The Apache Software Foundation, licensed
under the Apache License, Version 2.0.<br>
-Apache Incubator, Apache, and the Apache feather logo are trademarks of The
Apache Software Foundation. Other names appearing on the site may be trademarks
of their respective owners.<br>
- <br>
- <strong>DISCLAIMER</strong><br>
-Apache Drill is an effort undergoing incubation at The Apache Software
Foundation sponsored by the Apache Incubator PMC. Incubation is required of all
newly accepted projects until a further<br>
-review indicates that the infrastructure, communications, and decision making
process have stabilized in a manner consistent with other successful ASF
projects. While incubation status is not<br>necessarily a reflection of the
completeness or stability of the code, it does indicate that the project has
yet to be fully endorsed by the ASF.
- </div>
- </div>
-
- </body>
-</html>
+<!doctype html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ <title>Apache Drill - Architecture</title>
+
+ <link href="css/style.css" rel="stylesheet" type="text/css">
+ <link href="css/arrows.css" rel="stylesheet" type="text/css">
+ <link href="css/button.css" rel="stylesheet" type="text/css">
+
+ <script language="javascript" type="text/javascript"
src="js/lib/jquery-1.11.1.min.js"></script>
+ <script language="javascript" type="text/javascript"
src="js/lib/jquery.easing.1.3.js"></script>
+ <script language="javascript" type="text/javascript"
src="js/modernizr.custom.js"></script>
+ <script language="javascript" type="text/javascript"
src="js/script.js"></script>
+
+ </head>
+
+ <body onResize="resized();">
+
+ <div class="bui"></div>
+
+ <div id="search">
+ <input type="text" placeholder="Enter search term here">
+ </div>
+
+ <div id="menu" class="mw">
+
+ <ul>
+ <li class="logo"><a href="/drill/index.html"></a></li>
+
+ <li>
+ <a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki"
target="_blank">Documentation</a>
+ <ul>
+ <li><a href="overview.html">Overview</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes"
target="_blank">Drill in 10 minutes</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingaFileSystem"
target="_blank">Query Files</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHBaseTables"
target="_blank">Query HBase</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHiveTables"
target="_blank">Query Hive</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/SQL+Overview"
target="_blank">SQL Support</a></li> <li><a
href="architecture.html">Architecture</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="community.html">Community</a>
+ <ul>
+ <li><a href="community.html#events">Events and
Meetups</a></li>
+ <li><a href="community.html#mailinglists">Mailing
Lists</a></li>
+ <li><a href="community.html#getinvolved">Get
Involved</a></li>
+ <li><a
href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue
Tracker</a></li>
+ <li><a
href="https://github.com/apache/incubator-drill" target="_blank">Github</a></li>
+ </ul>
+ </li>
+ <li><a href="faq.html">FAQ</a></li>
+
+ <li class="l"><span> </span></li>
+ <li class="d"><a href="download.html">Download</a></li>
+ </ul>
+
+ </div>
+
+ <div class="int_title int_title_img architecture">
+ <h1>Architecture</h1>
+ <p>
+ Apache Drill is a low latency distributed query engine for
large-scale datasets, including structured and semi-structured/nested data.
Inspired by Google's Dremel, Drill is designed to scale to several thousands of
nodes and query petabytes of data at interactive speeds that BI/Analytics
environments require.
+ </p>
+ </div>
+
+ <div class="int_text">
+
+ <h2>High-Level Architecture<h2>
+
+ <p>Drill includes a distributed execution environment, purpose
built for large-scale data processing. At the core of Apache Drill is the
'Drillbit' service, which is responsible for accepting requests from the
client, processing the queries, and returning results to the client.</p>
+
+ <p>A Drillbit service can be installed and run on all of the
required nodes in a Hadoop cluster to form a distributed cluster environment.
When a Drillbit runs on each data node in the cluster, Drill can maximize data
locality during query execution without moving data over the network or between
nodes. Drill uses ZooKeeper to maintain cluster membership and health-check
information.</p>
+
+<p>Note that though Drill works in a Hadoop cluster environment, Drill is not
tied to Hadoop and can run in any distributed cluster environment. The only
pre-requisite for Drill is Zookeeper.</p>
+
+ <h2>Query Flow in Drill</h2>
+
+ <p>
+
+ The following image represents the flow of a Drill query:
+ <img src="images/arc-1.jpg" alt="The flow of a Drill query"
width="550">
+
+ The flow of a Drill query typically involves the following
steps:
+
+ </p>
+ <ul class="num">
+ <li>The Drill client issues a query. A Drill client is a JDBC,
ODBC, command line interface or a REST API. Any Drillbit in the cluster can
accept queries from the clients. There is no master-slave concept.</li>
+ <li>The Drillbit then parses the query, optimizes it, and
generates a distributed query plan that is optimized for fast and efficient
execution.</li>
+ <li>The Drillbit that accepts the query becomes the driving
Drillbit node for the request. It gets a list of available Drillbit nodes in
the cluster from ZooKeeper. The driving Drillbit determines the appropriate
nodes to execute various query plan fragments to maximize data locality.</li>
+ <li> The Drillbit schedules the execution of query fragments
on individual nodes according to the execution plan.</li>
+ <li>The individual nodes finish their execution and return
data to the driving Drillbit.</li>
+ <li>The driving Drillbit streams results back to the
client.</li>
+ </ul>
+
+ <h2>Core Modules within a Drillbit</h2>
+ <p>The following image represents Drillbit components:</p>
+
+ <img src="images/arc-2.jpg" alt="Drillbit components"
width="525">
+
+ <p>⢠RPC end point: Drill exposes a low overhead protobuf-based
RPC protocol to communicate with the clients. Additionally, a C++ and Java API
layers are also available for the client applications to interact with Drill.
Clients can communicate to a specific Drillbit directly or go through a
ZooKeeper quorum to discover the available Drillbits before submitting queries.
It is recommended that the clients always go through ZooKeeper to shield
clients from the intricacies of cluster management, such as the addition or
removal of nodes.</p>
+ <p>⢠SQL parser: Drill uses Optiq, the open source framework, to
parse incoming queries. The output of the parser component is a language
agnostic, computer-friendly logical plan that represents the query.</p>
+ <p>⢠Optimizer: Drill uses various standard database
optimizations such as rule based/cost based, as well as data locality and other
optimization rules exposed by the storage engine to re-write and split the
query. The output of the optimizer is a distributed physical query plan that
represents the most efficient and fastest way to execute the query across
different nodes in the cluster.</p>
+ <p>⢠Execution engine: Drill provides a MPP execution engine
built to perform distributed query processing across the various nodes in the
cluster. </p>
+ <p>⢠Storage plugin interfaces: Drill serves as a query layer on
top of several data sources. Storage plugins in Drill represent the
abstractions that Drill uses to interact with the data sources. Storage plugins
provide Drill with the following information:</p>
+
+ <p class="l1">
+ ⢠Metadata available in the source<br>
+ ⢠Interfaces for Drill to read from and write to data
sources<br>
+ ⢠Location of data and a set of optimization rules to help
with efficient and faster execution of Drill queries on a specific data source
+ </p>
+ <p>
+ In the context of Hadoop, Drill provides storage plugins for
files and HBase/M7. Drill also integrates with Hive as a storage plugin since
Hive provides a metadata abstraction layer on top of files, HBase/M7, and
provides libraries to read data and operate on these sources (SerDes and UDFs).
+ </p>
+
+ <p>When users query files and HBase/M7 with Drill, they can do it
directly or go through Hive if they have metadata defined there. Drill
integration with Hive is only for metadata. Drill does not invoke the Hive
execution engine for any requests. </p>
+
+ <p>⢠Distributed cache: Drill uses a distributed
cache to manage metadata (not the data) and configuration information across
various nodes. Sample metadata information that is stored in the cache includes
query plan fragments, intermediate state of the query execution, and
statistics. Drill uses Infinispan as its cache technology.</p>
+
+ <h2>Architectural Highlights</h2>
+
+ <p>
+ The goal for Drill is to bring the SQL ecosystem and performance of
the relational systems to Hadoop scale data WITHOUT compromising on the
flexibility of Hadoop/NoSQL systems. There are several core architectural
elements in Apache Drill that make it a highly flexible and efficient query
engine.
+ </p>
+
+ <h3>Flexibility</h3>
+ <ul>
+ <li><p><strong>Dynamic schema
discovery</strong>: Drill does not require schema or type specification for the
data in order to start the query execution process. Instead, Drill starts
processing the data in units called record-batches and discovers the schema on
the fly during processing. Self-describing data formats such as Parquet, JSON,
AVRO and NoSQL databases have schema specified as part of the data itself,
which will be leveraged by Drill dynamically at the query time. Schema can
change over the course of a Drill query, so all of the Drill operators are
designed to reconfigure themselves when such schema changing events occur.
+ </p>
+<li><p><strong>Flexible data model</strong>: Drill is purpose-built from
ground up for complex/multi-structured data commonly seen in Hadoop/NoSQL
applications such as social/mobile, clickstream, logs and sensor equipped IOT.
From a user point of view, Drill allows access to nested data attributes, just
like SQL columns, and provides intuitive extensions to easily operate on them.
From an architecture point of view, Drill provides a flexible hierarchical
columnar data model that can represent complex, highly dynamic and evolving
data models and allows efficient processing of it without need to flatten or
materialize it either design time or at execution time. Relational data in
Drill is treated as a special or simplified case of complex/multi-structured
data.
+ </p>
+<li><p><strong>Decentralized metadata</strong>: Unlike other SQL-on-Hadoop
technologies or any traditional relational database, Drill does not have a
centralized metadata requirement. In order to query data through Drill, users
do not need to create and manage tables/views in a metadata repository, or rely
on a database administrator group for such a function. <br><br>
+Drill metadata is derived from the storage plugins that correspond to data
sources. Drill supports a varied set of storage plugins that provide a spectrum
of metadata ranging from full metadata such as for Hive, partial metadata such
as for HBase, or no central metadata such as for files. <br><br>
+De-centralized metadata also means that Drill is NOT tied to a single Hive
repository either. Users can query from multiple Hive repositories in a single
query and then combine data with information from HBase tables or a file in the
distributed file system. <br><br>
+Users also have the ability to create metadata (tables/views/databases) within
Drill using the SQL DDL syntax. De-centralized metadata is applicable during
metadata creation. Drill allows persisting metadata in one of the underlying
data sources. <br><br>
+From a client access perspective, Drill metadata is organized just like a
traditional DB <br>(Databases->Tables/Views->Columns). The metadata is
accessible through the ANSI standard INFORMATION_SCHEMA database.
+ </p>
+<li><p><strong>Extensibility</strong>: Drill provides an extensible
architecture at all layers, including storage plugin layer, query layer, query
optimization/execution, and client APIs. You can customize any layer for the
specific needs of an organization or you can extend the layer to a broader
array of use cases. <br><br>
+Drill provides a built in classpath scanning and plugin concept to add
additional storage plugins, functions, and operators with minimal
configuration.
+<br><br>
+The following list provides a few examples of Drill's extensible architectural
capabilities:
+<ul>
+<li>A high performance Java API to implement custom UDFs/UDAFs
+<li>Ability to go beyond Hadoop by implementing custom storage plugins to
other data sources such as Oracle/MySQL or NoSQL stores, such as Mongo or
Cassandra
+<li>An API to implement custom operators
+<li>Support for direct execution of strongly specified JSON based logical and
physical plans to help with the simplification of testing, and to enable
integration of alternative query languages other than SQL.
+ </p>
+</ul>
+
+</ul>
+
+<h3>Performance</h3>
+
+<p>Drill is designed from the ground up for high performance on large
datasets. Few core elements of Drill processing that help Drill achieve its
performance include:</p>
+<ul>
+<li><p><strong>Distributed engine</strong>: Drill provides a powerful
distributed execution engine for processing queries. Users can submit requests
to any node in the cluster. You can simply add new nodes to the cluster to
scale for larger volumes of data, support more users or to improve performance.
+ </p>
+<li><p><strong>Columnar execution</strong>: Drill optimizes for both columnar
storage and execution by using an in-memory data model that is hierarchical and
columnar. When working with data stored in columnar formats such as Parquet,
Drill avoids disk access for columns that are not involved in an analytic
query. Drill also provides an execution layer that performs SQL processing
directly on columnar data without row materialization. The combination of
optimizations for columnar storage and direct columnar execution significantly
lowers memory footprints and provides faster execution of BI/Analytic type of
workloads.
+ </p>
+<li><p><strong>Vectorization</strong>: Rather than operating on single values
from a single table record at one time, vectorization in Drill allows the CPU
to operate on vectors, referred to as a Record Batches. Record Batches are
arrays of values from many different records. The technical basis for
efficiency of vectorized processing is modern chip technology with
deep-pipelined CPU designs. Keeping all pipelines full to achieve efficiency
near peak performance is something impossible to achieve in traditional
database engines, primarily due to code complexity.
+ </p>
+<li><p><strong>Runtime compilation</strong>:
+Runtime compilation is faster compared to the interpreted execution. Drill
generates highly efficient custom code for every single query for every single
operator. Here is a quick overview of the Drill compilation/code generation
process at a glance.
+<br><img src="images/drillcompiler.png" width="500">
+ </p>
+<li><p><strong>Optimistic and pipelined query execution</strong>: Drill adopts
an optimistic execution model to process queries. Drill assumes that failures
are infrequent within the short span of a query and therefore does not spend
time creating boundaries or checkpoints to minimize recovery time. Failures at
node level are handled gracefully. In the instance of a single query failure,
the query is rerun. Drill execution uses a pipeline model where all tasks are
scheduled at once. The query execution happens in-memory as much as possible to
move data through task pipelines, persisting to disk only if there is memory
overflow.
+ </p>
+</ul>
+
+
+
+
+
+ </div>
+
+ <div id="footer" class="mw">
+ <div class="wrapper">
+ Copyright © 2012 The Apache Software Foundation, licensed
under the Apache License, Version 2.0.<br>
+Apache Incubator, Apache, and the Apache feather logo are trademarks of The
Apache Software Foundation. Other names appearing on the site may be trademarks
of their respective owners.<br>
+ <br>
+ <strong>DISCLAIMER</strong><br>
+Apache Drill is an effort undergoing incubation at The Apache Software
Foundation sponsored by the Apache Incubator PMC. Incubation is required of all
newly accepted projects until a further<br>
+review indicates that the infrastructure, communications, and decision making
process have stabilized in a manner consistent with other successful ASF
projects. While incubation status is not<br>necessarily a reflection of the
completeness or stability of the code, it does indicate that the project has
yet to be fully endorsed by the ASF.
+ </div>
+ </div>
+
+ </body>
+</html>
Modified: websites/staging/drill/trunk/content/drill/community.html
==============================================================================
--- websites/staging/drill/trunk/content/drill/community.html (original)
+++ websites/staging/drill/trunk/content/drill/community.html Sat Aug 9
15:00:07 2014
@@ -1,4 +1,4 @@
-<!doctype html>
+<!doctype html>
<html>
<head>
<meta charset="UTF-8">
@@ -26,7 +26,7 @@
<div id="menu" class="mw">
<ul>
- <li class="logo"><a href="/index.html"></a></li>
+ <li class="logo"><a href="/drill/index.html"></a></li>
<li>
<a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki"
target="_blank">Documentation</a>
Modified: websites/staging/drill/trunk/content/drill/download.html
==============================================================================
--- websites/staging/drill/trunk/content/drill/download.html (original)
+++ websites/staging/drill/trunk/content/drill/download.html Sat Aug 9
15:00:07 2014
@@ -1,157 +1,157 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="UTF-8">
- <title>Apache Drill - Download Apache Drill</title>
-
- <link href="css/style.css" rel="stylesheet" type="text/css">
- <link href="css/arrows.css" rel="stylesheet" type="text/css">
- <link href="css/button.css" rel="stylesheet" type="text/css">
-
- <script language="javascript" type="text/javascript"
src="js/lib/jquery-1.11.1.min.js"></script>
- <script language="javascript" type="text/javascript"
src="js/lib/jquery.easing.1.3.js"></script>
- <script language="javascript" type="text/javascript"
src="js/modernizr.custom.js"></script>
- <script language="javascript" type="text/javascript"
src="js/script.js"></script>
-
- </head>
-
- <body onResize="resized();">
-
- <div class="bui"></div>
-
- <div id="search">
- <input type="text" placeholder="Enter search term here">
- </div>
-
- <div id="menu" class="mw">
-
- <ul>
- <li class="logo"><a href="/index.html"></a></li>
-
- <li>
- <a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki"
target="_blank">Documentation</a>
- <ul>
- <li><a href="overview.html">Overview</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes"
target="_blank">Drill in 10 minutes</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingaFileSystem"
target="_blank">Query Files</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHBaseTables"
target="_blank">Query HBase</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHiveTables"
target="_blank">Query Hive</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/SQL+Overview"
target="_blank">SQL Support</a></li> <li><a
href="architecture.html">Architecture</a></li>
- </ul>
- </li>
- <li>
- <a href="community.html">Community</a>
- <ul>
- <li><a href="community.html#events">Events and
Meetups</a></li>
- <li><a href="community.html#mailinglists">Mailing
Lists</a></li>
- <li><a href="community.html#getinvolved">Get
Involved</a></li>
- <li><a
href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue
Tracker</a></li>
- <li><a
href="https://github.com/apache/incubator-drill" target="_blank">Github</a></li>
- </ul>
- </li>
- <li><a href="faq.html">FAQ</a></li>
-
- <li class="l"><span> </span></li>
- <li class="d"><a href="download.html">Download</a></li>
- </ul>
-
- </div>
-
- <div class="int_title int_title_img download">
- <h1>Download Apache Drill</h1>
- </div>
-
- <div class="int_text download">
-
- <h2>The latest release is Drill 0.4, released August 8, 2014</h2>
- <br>
-
- <table>
- <tr>
- <td><a
href="http://www.apache.org/dyn/closer.cgi/incubator/drill/drill-0.4.0-incubating/apache-drill-0.4.0-incubating.tar.gz"
class="find" id="apachemirror">FIND AN APACHE MIRROR</a></td>
- <td><a
href="http://getdrill.org/drill/download/apache-drill-0.4.0-incubating.tar.gz"
class="dl" id="directdownload">DIRECT FILE DOWNLOAD</a></td>
- <td><a
href="http://package.mapr.com/labs/drill/tools/" class="dl">ODBC DRIVERS FOR
DRILL</a></td>
- </tr>
- </table>
-
- <h2>Release Notes</h2>
- <p><a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+0.4.0+Release+Notes"
target="_new">Click here</a></p>
-
- <h2>Github Tag</h2>
- <p><a
href="https://github.com/apache/incubator-drill/tree/0.4.0-incubating"
target="_new">Click here</a></p>
-
- </div>
-
- <div id="footer" class="mw">
- <div class="wrapper">
- Copyright © 2012 The Apache Software Foundation, licensed
under the Apache License, Version 2.0.<br>
-Apache Incubator, Apache, and the Apache feather logo are trademarks of The
Apache Software Foundation. Other names appearing on the site may be trademarks
of their respective owners.<br>
- <br>
- <strong>DISCLAIMER</strong><br>
-Apache Drill is an effort undergoing incubation at The Apache Software
Foundation sponsored by the Apache Incubator PMC. Incubation is required of all
newly accepted projects until a further<br>
-review indicates that the infrastructure, communications, and decision making
process have stabilized in a manner consistent with other successful ASF
projects. While incubation status is not<br>necessarily a reflection of the
completeness or stability of the code, it does indicate that the project has
yet to be fully endorsed by the ASF.
- </div>
- </div>
-
- <script>
-
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-
- ga('create', 'UA-53379651-1', 'auto');
- ga('send', 'pageview');
-
- </script>
-
- <script type="text/javascript">
-
- var downloadLink =
document.getElementById('apachemirror');
- addListener(downloadLink, 'click', function() {
- ga('send', 'event', 'button', 'click', 'download');
- });
-
-
- /**
- * Utility to wrap the different behaviors between
W3C-compliant browsers
- * and IE when adding event handlers.
- *
- * @param {Object} element Object on which to attach
the event listener.
- * @param {string} type A string representing the event
type to listen for
- * (e.g. load, click, etc.).
- * @param {function()} callback The function that
receives the notification.
- */
- function addListener(element, type, callback) {
- if (element.addEventListener)
element.addEventListener(type, callback);
- else if (element.attachEvent) element.attachEvent('on'
+ type, callback);
- }
-
- </script>
-
-
- <script type="text/javascript">
-
- var downloadLinkdirect =
document.getElementById('directdownload');
- addListener(downloadLinkdirect, 'click', function() {
- ga('send', 'event', 'buttondirect', 'clickdirect',
'downloaddirect');
- });
-
-
- /**
- * Utility to wrap the different behaviors between
W3C-compliant browsers
- * and IE when adding event handlers.
- *
- * @param {Object} element Object on which to attach
the event listener.
- * @param {string} type A string representing the event
type to listen for
- * (e.g. load, click, etc.).
- * @param {function()} callback The function that
receives the notification.
- */
- function addListener(element, type, callback) {
- if (element.addEventListener)
element.addEventListener(type, callback);
- else if (element.attachEvent) element.attachEvent('on'
+ type, callback);
- }
-
- </script>
-
- </body>
-</html>
+<!doctype html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ <title>Apache Drill - Download Apache Drill</title>
+
+ <link href="css/style.css" rel="stylesheet" type="text/css">
+ <link href="css/arrows.css" rel="stylesheet" type="text/css">
+ <link href="css/button.css" rel="stylesheet" type="text/css">
+
+ <script language="javascript" type="text/javascript"
src="js/lib/jquery-1.11.1.min.js"></script>
+ <script language="javascript" type="text/javascript"
src="js/lib/jquery.easing.1.3.js"></script>
+ <script language="javascript" type="text/javascript"
src="js/modernizr.custom.js"></script>
+ <script language="javascript" type="text/javascript"
src="js/script.js"></script>
+
+ </head>
+
+ <body onResize="resized();">
+
+ <div class="bui"></div>
+
+ <div id="search">
+ <input type="text" placeholder="Enter search term here">
+ </div>
+
+ <div id="menu" class="mw">
+
+ <ul>
+ <li class="logo"><a href="/drill/index.html"></a></li>
+
+ <li>
+ <a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki"
target="_blank">Documentation</a>
+ <ul>
+ <li><a href="overview.html">Overview</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes"
target="_blank">Drill in 10 minutes</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingaFileSystem"
target="_blank">Query Files</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHBaseTables"
target="_blank">Query HBase</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHiveTables"
target="_blank">Query Hive</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/SQL+Overview"
target="_blank">SQL Support</a></li> <li><a
href="architecture.html">Architecture</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="community.html">Community</a>
+ <ul>
+ <li><a href="community.html#events">Events and
Meetups</a></li>
+ <li><a href="community.html#mailinglists">Mailing
Lists</a></li>
+ <li><a href="community.html#getinvolved">Get
Involved</a></li>
+ <li><a
href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue
Tracker</a></li>
+ <li><a
href="https://github.com/apache/incubator-drill" target="_blank">Github</a></li>
+ </ul>
+ </li>
+ <li><a href="faq.html">FAQ</a></li>
+
+ <li class="l"><span> </span></li>
+ <li class="d"><a href="download.html">Download</a></li>
+ </ul>
+
+ </div>
+
+ <div class="int_title int_title_img download">
+ <h1>Download Apache Drill</h1>
+ </div>
+
+ <div class="int_text download">
+
+ <h2>The latest release is Drill 0.4, released August 8, 2014</h2>
+ <br>
+
+ <table>
+ <tr>
+ <td><a
href="http://www.apache.org/dyn/closer.cgi/incubator/drill/drill-0.4.0-incubating/apache-drill-0.4.0-incubating.tar.gz"
class="find" id="apachemirror">FIND AN APACHE MIRROR</a></td>
+ <td><a
href="http://getdrill.org/drill/download/apache-drill-0.4.0-incubating.tar.gz"
class="dl" id="directdownload">DIRECT FILE DOWNLOAD</a></td>
+ <td><a
href="http://package.mapr.com/labs/drill/tools/" class="dl">ODBC DRIVERS FOR
DRILL</a></td>
+ </tr>
+ </table>
+
+ <h2>Release Notes</h2>
+ <p><a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+0.4.0+Release+Notes"
target="_new">Click here</a></p>
+
+ <h2>Github Tag</h2>
+ <p><a
href="https://github.com/apache/incubator-drill/tree/0.4.0-incubating"
target="_new">Click here</a></p>
+
+ </div>
+
+ <div id="footer" class="mw">
+ <div class="wrapper">
+ Copyright © 2012 The Apache Software Foundation, licensed
under the Apache License, Version 2.0.<br>
+Apache Incubator, Apache, and the Apache feather logo are trademarks of The
Apache Software Foundation. Other names appearing on the site may be trademarks
of their respective owners.<br>
+ <br>
+ <strong>DISCLAIMER</strong><br>
+Apache Drill is an effort undergoing incubation at The Apache Software
Foundation sponsored by the Apache Incubator PMC. Incubation is required of all
newly accepted projects until a further<br>
+review indicates that the infrastructure, communications, and decision making
process have stabilized in a manner consistent with other successful ASF
projects. While incubation status is not<br>necessarily a reflection of the
completeness or stability of the code, it does indicate that the project has
yet to be fully endorsed by the ASF.
+ </div>
+ </div>
+
+ <script>
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-53379651-1', 'auto');
+ ga('send', 'pageview');
+
+ </script>
+
+ <script type="text/javascript">
+
+ var downloadLink =
document.getElementById('apachemirror');
+ addListener(downloadLink, 'click', function() {
+ ga('send', 'event', 'button', 'click', 'download');
+ });
+
+
+ /**
+ * Utility to wrap the different behaviors between
W3C-compliant browsers
+ * and IE when adding event handlers.
+ *
+ * @param {Object} element Object on which to attach
the event listener.
+ * @param {string} type A string representing the event
type to listen for
+ * (e.g. load, click, etc.).
+ * @param {function()} callback The function that
receives the notification.
+ */
+ function addListener(element, type, callback) {
+ if (element.addEventListener)
element.addEventListener(type, callback);
+ else if (element.attachEvent) element.attachEvent('on'
+ type, callback);
+ }
+
+ </script>
+
+
+ <script type="text/javascript">
+
+ var downloadLinkdirect =
document.getElementById('directdownload');
+ addListener(downloadLinkdirect, 'click', function() {
+ ga('send', 'event', 'buttondirect', 'clickdirect',
'downloaddirect');
+ });
+
+
+ /**
+ * Utility to wrap the different behaviors between
W3C-compliant browsers
+ * and IE when adding event handlers.
+ *
+ * @param {Object} element Object on which to attach
the event listener.
+ * @param {string} type A string representing the event
type to listen for
+ * (e.g. load, click, etc.).
+ * @param {function()} callback The function that
receives the notification.
+ */
+ function addListener(element, type, callback) {
+ if (element.addEventListener)
element.addEventListener(type, callback);
+ else if (element.attachEvent) element.attachEvent('on'
+ type, callback);
+ }
+
+ </script>
+
+ </body>
+</html>
Modified: websites/staging/drill/trunk/content/drill/faq.html
==============================================================================
--- websites/staging/drill/trunk/content/drill/faq.html (original)
+++ websites/staging/drill/trunk/content/drill/faq.html Sat Aug 9 15:00:07 2014
@@ -26,7 +26,7 @@
<div id="menu" class="mw">
<ul>
- <li class="logo"><a href="/index.html"></a></li>
+ <li class="logo"><a href="/drill/index.html"></a></li>
<li>
<a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki"
target="_blank">Documentation</a>
Modified: websites/staging/drill/trunk/content/drill/index.html
==============================================================================
--- websites/staging/drill/trunk/content/drill/index.html (original)
+++ websites/staging/drill/trunk/content/drill/index.html Sat Aug 9 15:00:07
2014
@@ -1,167 +1,162 @@
-<!DOCTYPE html>
+<!doctype html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ <title>Apache Drill</title>
+
+ <link href="css/style.css" rel="stylesheet" type="text/css">
+ <link href="css/arrows.css" rel="stylesheet" type="text/css">
+ <link href="css/button.css" rel="stylesheet" type="text/css">
+
+ <script language="javascript" type="text/javascript"
src="js/lib/jquery-1.11.1.min.js"></script>
+ <script language="javascript" type="text/javascript"
src="js/lib/jquery.easing.1.3.js"></script>
+ <script language="javascript" type="text/javascript"
src="js/modernizr.custom.js"></script>
+ <script language="javascript" type="text/javascript"
src="js/script.js"></script>
+ </head>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta http-equiv="Content-Language" content="en" />
-
- <title>Apache Drill - Apache Drill</title>
-
- <link rel="stylesheet" href="/drill/css/bootstrap-2.1.0.min.css" />
- <link rel="stylesheet" href="/drill/css/drill.css" type="text/css">
- </head>
- <body>
-
- <div class="navbar navbar-inverse navbar-static-top">
-
- <div class="container-fluid">
-
- <a class="nav pull-right brand" href="http://incubator.apache.org">
- <img src="http://incubator.apache.org/images/egg-logo.png"
alt="apache Incubator Logo" />
- </a>
-
- </div>
-
- </div>
-
- <ul class="breadcrumb">
- <li>
- <a href="/">Incubator</a>
- <span class="divider">»</span>
- </li>
- <li>
- <a href="/drill/">Drill</a>
- </li>
-
- </ul>
-
- <div class="container-fluid">
- <div class="row-fluid">
-
- <!-- SIDEBAR AREA -->
- <div class="span2">
- <div class="sidebar-nav">
- <ul class="nav nav-list">
-
-
- <li class="nav-header">Apache Drill</li>
-
-
-
-
- <li><b>Overview</b></li>
-
-
-
-
-
- <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki">Wiki</a></li>
-
-
-
-
- <li class="nav-header">Project</li>
-
-
-
-
- <li><a href="/drill/source-repository.html">Source
Code</a></li>
-
-
-
-
-
- <li><a href="/drill/mailing-lists.html">Mailing
Lists</a></li>
-
-
-
-
-
- <li><a
href="https://issues.apache.org/jira/browse/DRILL">Issue Tracking</a></li>
-
-
-
-
-
- <li><a href="/drill/resources.html">Resources</a></li>
-
-
-
-
-
- <li><a
href="http://apache.org/licenses/LICENSE-2.0.html">License</a></li>
-
-
-
+ <body onResize="resized();">
+
+ <div id="search">
+ <input type="text" placeholder="Enter search term here">
+ </div>
+
+ <div id="menu" class="mw">
+
+ <ul>
+ <li class="logo"><a href="/drill/index.html"></a></li>
+
+ <li>
+ <a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki"
target="_blank">Documentation</a>
+ <ul>
+<li><a href="overview.html">Overview</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes"
target="_blank">Drill in 10 minutes</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingaFileSystem"
target="_blank">Query Files</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHBaseTables"
target="_blank">Query HBase</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Connecting+to+Data+Sources#ConnectingtoDataSources-QueryingHiveTables"
target="_blank">Query Hive</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/DRILL/SQL+Overview"
target="_blank">SQL Support</a></li>
+ <li><a href="architecture.html">Architecture</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="community.html">Community</a>
+ <ul>
+ <li><a href="community.html#events">Events and
Meetups</a></li>
+ <li><a href="community.html#mailinglists">Mailing
Lists</a></li>
+ <li><a href="community.html#getinvolved">Get
Involved</a></li>
+ <li><a
href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue
Tracker</a></li>
+ <li><a
href="https://github.com/apache/incubator-drill" target="_blank">Github</a></li>
+ </ul>
+ </li>
+ <li><a href="faq.html" target="_blank">FAQ</a></li>
+
+ <li class="l"><span> </span></li>
+ <li class="d"><a href="download.html">Download</a></li>
+ </ul>
+
+ </div>
+<!--
+ <div id="subhead">
+ <ul>
+ <li class="ag"><a href="#agility">Agility</a></li>
+ <li class="fl"><a href="#flexibility">Flexibility</a></li>
+ <li class="fa"><a href="#familiarity">Familiarity</a></li>
</ul>
- </div> <!-- /well -->
- </div> <!-- /span -->
+ </div>
+ -->
+
+ <div id="header" class="mw">
+ <div class="nav-circlepop">
+ <a class="aLeft prev"><span class="icon-wrap"></span></a>
+ <a class="aRight next"><span class="icon-wrap"></span></a>
+ </div>
+ <div class="dots">
+
+ </div>
+ <div class="scroller">
+
+ <div class="item">
+ <div class="tc">
+ <h1>Apache Drill</h1>
+ <h1 style="font-size:20px">
+ Self-Service Data Exploration
+ </h1>
+ <a href="download.html" class="btn btn-1
btn-1c"><span>NOW READY FOR DOWNLOAD</span></a>
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+ <div class="mw introWrapper">
+ <table class="intro" cellpadding="0" cellspacing="0"
align="center" width="940">
+ <td class="ag">
+ <h1>Agility</h1>
+ <p>Get faster insights from big data with no IT
intervention</p>
+ <span><a href="#agility">LEARN MORE</a></span>
+ </td>
+ <td class="fl">
+ <h1>Flexibility</h1>
+ <p>Analyze semi-structured/nested data coming from NoSQL
applications</p>
+ <span><a href="#flexibility">LEARN MORE</a></span>
+ </td>
+ <td class="fa">
+ <h1>Familiarity</h1>
+ <p>Leverage existing SQL skillsets, BI tools and Apache
Hive deployments</p>
+ <span><a href="#familiarity">LEARN MORE</a></span>
+ </td>
+ </table>
+ </div>
+
+ <div class="home_txt mw">
+ <h2>Apache Drill is an open source, low latency SQL query engine
for Hadoop and NoSQL.</h2>
+ <p>
+ Modern big data applications such as social, mobile, web and
IoT deal with a larger number of users and larger amount of data than the
traditional transactional applications. The datasets associated with these
applications evolve rapidly, are often self-describing and can include complex
types such as JSON and Parquet. Apache Drill is built from the ground up to
provide low latency queries natively on such rapidly evolving multi-structured
datasets at scale.
+ </p>
+
+ <a name="agility" class="anchor"></a>
+ <h1>Day-Zero Analytics & Rapid<br>Application Development</h1>
+ <!-- <h2>Evolution towards Self-Service Data
Exploration</h2> -->
+
+ <img src="images/home-img1.jpg" alt="Day-Zero Analytics & Rapid
Application Development" width="606">
+
+ <p>
+ Apache Drill provides direct queries on self-describing and
semi-structured data in files (such as JSON, Parquet) and HBase tables without
needing to specify metadata definitions in a centralized store such as Hive
metastore. This means that the users can explore live data on their own as it
arrives on Hadoop versus spending weeks or months on data preparation, modeling
and ETL and subsequent schema management.
+ </p>
+
+ <a name="flexibility" class="anchor"></a>
+ <h1>Purpose-built for semi-structured/nested data</h1>
+ <!-- <h2>A Flexible Data Model for Modern Apps</h2> -->
+
+ <img src="images/home-img2.jpg" alt="Purpose-built for
semi-structured/nested data" width="635">
+
+ <p>
+ Drill provides a JSON-like internal data model
to represent and process data. The flexibility of this data model allows Drill
to query, without flattening, both simple and complex/nested data types as well
as constantly changing application-driven schemas commonly seen with
Hadoop/NoSQL applications. Drill also provides intuitive extensions to SQL to
work with complex/nested data types.
+ </p>
+
+ <a name="familiarity" class="anchor"></a>
+ <h1>Compatibility with existing SQL environments<br>and Apache
Hive deployments</h1>
+
+ <br><br>
+
+ <img src="images/home-img3.jpg" width="380" alt="Compatibility
with existing SQL environments and Apache Hive deployments">
+
+ <p>
+ With Drill, businesses can minimize switching costs and
learning curves for users with the familiar ANSI SQL syntax. Analysts can
continue to use familiar BI/analytics tools that assume and auto-generate ANSI
SQL code to interact with Hadoop data by leveraging the standard JDBC/ODBC
interfaces that Drill exposes. Users can also plug-and-play with Hive
environments to enable ad-hoc low latency queries on existing Hive tables and
reuse Hive's metadata, hundreds of file formats and UDFs out-of-the-box.
+ </p>
+
+ </div>
- <!-- CONTENT AREA -->
- <div class="span10">
- <h1 class="title">
- Apache Drill
-
- <small>Distributed system for interactive analysis.</small>
-
- </h1>
-
- <hr />
-<blockquote>
-<p><em>Apache Drill (incubating)</em> is a distributed system for interactive
analysis
-of large-scale datasets, based on Google's Dremel. Its goal is to efficiently
-process nested data. It is a design goal to scale to 10,000 servers or more
-and to be able to process petabyes of data and trillions of records in
seconds.</p>
-</blockquote>
-<hr />
-<h2 id="documentation">Documentation</h2>
-<ul>
-<li><a
href="https://docs.google.com/document/d/1QTL8warUYS2KjldQrGUse7zp8eA72VKtLOHwfXy6c7I/edit">Logical
and Physical Plan Language Design Document (in progress)</a></li>
-<li><a href="intro.html">Introduction to Apache Drill</a></li>
-<li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Contributing">How to
contribute to Drill</a></li>
-</ul>
-<h2 id="mailing-lists">Mailing Lists</h2>
-<ul>
-<li>See the link on the left of this page</li>
-</ul>
-<h2 id="wiki">Wiki</h2>
-<ul>
-<li><a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki">Home
page</a> or see the link on the left side of this page.</li>
-</ul>
-<p>The wiki has some use cases, links to documentation and <a
href="https://cwiki.apache.org/confluence/display/DRILL/Q1+In-Progress+Report">the
next podling report</a> (the in-progress report). </p>
-<p>This wiki is open to all to contribute. You can help by adding content,
even if all you have are questions. Of particular interest
-are new use cases or commentary on existing user cases. </p>
-<h2 id="disclaimer">Disclaimer</h2>
-<p>Apache Drill is an effort undergoing incubation at <a
href="http://apache.org/">The Apache Software Foundation
-(ASF)</a> sponsored by the <a href="http://incubator.apache.org/">Apache
Incubator PMC</a>.
-Incubation is required of all newly accepted projects until a further review
-indicates that the infrastructure, communications, and decision making process
-have stabilized in a manner consistent with other successful ASF projects.
-While incubation status is not necessarily a reflection of the completeness or
-stability of the code, it does indicate that the project has yet to be fully
-endorsed by the ASF.</p>
- </div> <!-- /span -->
-
- </div> <!-- /row-fluid -->
-
- </div>
-
- <hr/>
-
- <footer>
- <div class="container-fluid">
- <div class="row span12">Copyright © 2012
- <a href="http://www.apache.org/">The Apache Software Foundation</a>,
- licensed under the <a
href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>.
- <p><small>Apache Incubator, Apache, and the Apache feather logo
- are trademarks of The Apache Software Foundation.
- Other names appearing on the site may be trademarks of their
- respective owners.</small></p>
+ <div id="footer" class="mw">
+ <div class="wrapper">
+ Copyright © 2012-2014 The Apache Software Foundation, licensed
under the Apache License, Version 2.0.<br>
+Apache Incubator, Apache, and the Apache feather logo are trademarks of The
Apache Software Foundation. Other names appearing on the site may be trademarks
of their respective owners.<br>
+ <br>
+ <strong>DISCLAIMER</strong><br>
+Apache Drill is an effort undergoing incubation at The Apache Software
Foundation sponsored by the Apache Incubator PMC. Incubation is required of all
newly accepted projects until a further<br>
+review indicates that the infrastructure, communications, and decision making
process have stabilized in a manner consistent with other successful ASF
projects. While incubation status is not<br>necessarily a reflection of the
completeness or stability of the code, it does indicate that the project has
yet to be fully endorsed by the ASF.
+ </div>
</div>
- </div>
- </footer>
- </body>
+ </body>
</html>
Modified: websites/staging/drill/trunk/content/drill/overview.html
==============================================================================
--- websites/staging/drill/trunk/content/drill/overview.html (original)
+++ websites/staging/drill/trunk/content/drill/overview.html Sat Aug 9
15:00:07 2014
@@ -1,4 +1,4 @@
-<!doctype html>
+<!doctype html>
<html>
<head>
@@ -27,7 +27,7 @@
<div id="menu" class="mw">
<ul>
- <li class="logo"><a href="/index.html"></a></li>
+ <li class="logo"><a href="/drill/index.html"></a></li>
<li>
<a
href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+Wiki"
target="_blank">Documentation</a>