kyuubi/docs/index.rst
Cheng Pan a76c344042
[KYUUBI #951] [LICENSE] Add license header on all docs
<!--
Thanks for sending a pull request!

Here are some tips for you:
  1. If this is your first time, please read our contributor guidelines: https://kyuubi.readthedocs.io/en/latest/community/contributions.html
  2. If the PR is related to an issue in https://github.com/apache/incubator-kyuubi/issues, add '[KYUUBI #XXXX]' in your PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'.
  3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][KYUUBI #XXXX] Your PR title ...'.
-->

### _Why are the changes needed?_
<!--
Please clarify why the changes are needed. For instance,
  1. If you add a feature, you can talk about the use case of it.
  2. If you fix a bug, you can clarify why it is a bug.
-->

### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [ ] [Run test](https://kyuubi.readthedocs.io/en/latest/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #951 from pan3793/license.

Closes #951

4629eecd [Cheng Pan] Fix
c45a0784 [Cheng Pan] nit
b9a46b42 [Cheng Pan] pin license header at first line
80d1a71b [Cheng Pan] nit
b2a46e4c [Cheng Pan] Update
f6acaaf8 [Cheng Pan] minor
ef99183f [Cheng Pan] Add license header on all docs

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2021-08-19 09:53:52 +08:00

128 lines
4.7 KiB
ReStructuredText

.. Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
.. http://www.apache.org/licenses/LICENSE-2.0
.. Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.. Kyuubi documentation master file, created by
sphinx-quickstart on Wed Oct 28 14:23:28 2020.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. image:: imgs/kyuubi_logo.png
:align: center
Welcome to Kyuubi's documentation!
==================================
Kyuubi™ is a unified multi-tenant JDBC interface for large-scale data processing and analytics, built on top of `Apache Spark™ <http://spark.apache.org/>`_.
.. image:: ./imgs/kyuubi_layers.png
In general, the complete ecosystem of Kyuubi falls into the hierarchies shown in the above figure, with each layer loosely coupled to the other.
For example, you can use Kyuubi, Spark and `Apache Iceberg <https://iceberg.apache.org/>`_ to build and manage Data Lake with pure SQL for both data processing e.g. ETL, and analytics e.g. BI.
All workloads can be done on one platform, using one copy of data, with one SQL interface.
Kyuubi provides the following features:
Multi-tenancy
-------------
Kyuubi supports the end-to-end multi-tenancy,
and this is why we want to create this project despite that the Spark `Thrift JDBC/ODBC server <http://spark.apache.org/docs/latest/sql-distributed-sql-engine.html#running-the-thrift-jdbcodbc-server>`_ already exists.
1. Supports multi-client concurrency and authentication
2. Supports one Spark application per account(SPA).
3. Supports QUEUE/NAMESPACE Access Control Lists (ACL)
4. Supports metadata & data Access Control Lists
Users who have valid accounts could use all kinds of client tools, e.g.
Hive Beeline, `HUE <https://gethue.com/>`_, `DBeaver <https://dbeaver.io/>`_,
`SQuirreL SQL Client <http://squirrel-sql.sourceforge.net/>`_, etc,
to operate with Kyuubi server concurrently.
The SPA policy makes sure 1) a user account can only get computing resource with managed ACLs, e.g.
`Queue Access Control Lists <https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/FairScheduler.html#Queue_Access_Control_Lists>`_,
from cluster managers, e.g.
`Apache Hadoop YARN <https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html>`_,
`Kubernetes (K8s) <https://kubernetes.io/>`_ to create the Spark application;
2) a user account can only access data and metadata from a storage system, e.g.
`Apache Hadoop HDFS <https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html>`_,
with permissions.
Ease of Use
------------
You only need to be familiar with Structured Query Language (SQL) and Java Database Connectivity (JDBC) to handle massive data.
It helps you focus on the design and implementation of your business system.
Run Anywhere
------------
Kyuubi can submit Spark applications to all supported cluster managers, including YARN, Mesos, Kubernetes, Standalone, and local.
The SPA policy also make it possible for you to launch different applications against different cluster managers.
High Performance
----------------
Kyuubi is built on the Apache Spark, a lightning-fast unified analytics engine.
- **Concurrent execution**: multiple Spark applications work together
- **Quick response**: long-running Spark applications without startup cost
- **Optimal execution plan**: fully supports Spark SQL Catalyst Optimizer,
Authentication & Authorization
------------------------------
With strong authentication and fine-grained column/row level authorization,
Kyuubi keeps your system and data secure.
High Availability
-----------------
Kyuubi provides both high availability and load balancing solutions based on Zookeeper.
.. toctree::
:caption: Usage Guide
:maxdepth: 2
:glob:
quick_start/index
deployment/index
Security <security/index>
client/index
integrations/index
monitor/index
sql/index
tools/index
.. toctree::
:caption: Kyuubi Insider
:maxdepth: 2
overview/index
.. toctree::
:caption: Contributing
:maxdepth: 2
develop_tools/index
community/index
.. toctree::
:caption: Appendix
:maxdepth: 2
appendix/index