Major website front page refactoring (#9300)

This commit is contained in:
Ivan Blinkov 2020-03-13 22:35:03 +03:00 committed by GitHub
parent 930f2bae54
commit d4cc635a4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
61 changed files with 34093 additions and 11308 deletions

3
.gitmodules vendored
View File

@ -148,3 +148,6 @@
path = contrib/avro
url = https://github.com/ClickHouse-Extras/avro.git
ignore = untracked
[submodule "website/images/feathericons"]
path = website/images/feathericons
url = https://github.com/feathericons/feather

View File

@ -12,7 +12,7 @@ ClickHouse is an open-source column-oriented database management system that all
* [Contacts](https://clickhouse.tech/#contacts) can help to get your questions answered if there are any.
* You can also [fill this form](https://forms.yandex.com/surveys/meet-yandex-clickhouse-team/) to meet Yandex ClickHouse team in person.
## Upcoming Events
## Upcoming Events
* [ClickHouse Workshop in Novosibirsk](https://2020.codefest.ru/lecture/1628) on March 28, 2020.
* [Talks on Saint HighLoad++ in St. Petersburg](https://www.highload.ru/spb/2020/abstracts/6647) on April 6, 2020.

View File

@ -11,6 +11,7 @@ import subprocess
import sys
import time
import livereload
import markdown.util
from mkdocs import config
@ -118,7 +119,8 @@ def build_for_lang(lang, args):
'version_prefix': args.version_prefix,
'rev': args.rev,
'rev_short': args.rev_short,
'rev_url': args.rev_url
'rev_url': args.rev_url,
'events': args.events
}
)
@ -300,16 +302,18 @@ if __name__ == '__main__':
arg_parser.add_argument('--skip-website', action='store_true')
arg_parser.add_argument('--minify', action='store_true')
arg_parser.add_argument('--save-raw-single-page', type=str)
arg_parser.add_argument('--livereload', type=int, default='0')
arg_parser.add_argument('--verbose', action='store_true')
args = arg_parser.parse_args()
args.docs_output_dir = os.path.join(os.path.abspath(args.output_dir), 'docs')
from github import choose_latest_releases
from github import choose_latest_releases, get_events
args.stable_releases = choose_latest_releases() if args.enable_stable_releases else []
args.rev = subprocess.check_output('git rev-parse HEAD', shell=True).strip()
args.rev_short = subprocess.check_output('git rev-parse --short HEAD', shell=True).strip()
args.rev_url = 'https://github.com/ClickHouse/ClickHouse/commit/%s' % args.rev
args.events = get_events(args)
logging.basicConfig(
level=logging.DEBUG if args.verbose else logging.INFO,
@ -320,3 +324,16 @@ if __name__ == '__main__':
from build import build
build(args)
if args.livereload:
new_args = [arg for arg in sys.argv if not arg.startswith('--livereload')]
new_args = sys.executable + ' ' + ' '.join(new_args)
server = livereload.Server()
server.watch(args.website_dir + '**/*', livereload.shell(new_args, cwd='tools', shell=True))
server.watch(args.docs_dir + '**/*', livereload.shell(new_args, cwd='tools', shell=True))
server.serve(
root=args.output_dir,
port=args.livereload
)
sys.exit(0)

View File

@ -11,7 +11,7 @@ def concatenate(lang, docs_path, single_page_file):
az_re = re.compile(r'[a-z]')
with open(proj_config) as cfg_file:
files_to_concatenate = [(l[l.index(':') + 1:]).strip(" '\n") for l in cfg_file
files_to_concatenate = [(l[l.index(':') + 1:]).strip(" '\n") for l in cfg_file
if '.md' in l and 'single_page' not in l]
logging.info(
@ -30,7 +30,7 @@ def concatenate(lang, docs_path, single_page_file):
parts = tmp_path.split('/')
anchors.add(parts[-2] + '/')
anchors.add('/'.join(parts[1:]))
for part in parts[0:-2] if len(parts) > 2 else parts:
for prefix in prefixes:
anchor = prefix + tmp_path
@ -39,13 +39,13 @@ def concatenate(lang, docs_path, single_page_file):
anchors.add('../' + anchor)
anchors.add('../../' + anchor)
tmp_path = tmp_path.replace(part, '..')
for anchor in anchors:
if re.search(az_re, anchor):
single_page_file.write('<a name="%s"></a>\n' % anchor)
single_page_file.write('\n\n')
for l in f:
if l.startswith('#'):
l = '#' + l

20
docs/tools/deploy-to-test.sh Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
#
# README:
# This script deploys ClickHouse website to your personal test subdomain.
#
# Before first use of this script:
# 1) Create https://github.com/GIT_USER/clickhouse.github.io repo (replace GIT_USER with your GitHub login)
# 2) Send email on address from https://clickhouse.tech/#contacts asking to create GIT_USER-test.clickhouse.tech domain
#
set -ex
BASE_DIR=$(dirname $(readlink -f $0))
GIT_USER=${GIT_USER:-$USER}
GIT_TEST_URI=git@github.com:${GIT_USER}/clickhouse.github.io.git \
TEST_DOMAIN=${GIT_USER}-test.clickhouse.tech \
EXTRA_BUILD_ARGS="${@}" \
CLOUDFLARE_TOKEN="" \
HISTORY_SIZE=3 \
${BASE_DIR}/release.sh

View File

@ -26,30 +26,30 @@ SCRIPT_DESCRIPTION = '''
--- a/docs/en/data_types/domains/ipv6.md
+++ b/docs/en/data_types/domains/ipv6.md
@@ -4,13 +4,13 @@
### Basic Usage
-``` sql
+```sql
CREATE TABLE hits (url String, from IPv6) ENGINE = MergeTree() ORDER BY url;
DESCRIBE TABLE hits;
```
-```
+```text
nametypedefault_typedefault_expressioncommentcodec_expression
url String
from IPv6
@@ -19,19 +19,19 @@ DESCRIBE TABLE hits;
OR you can use `IPv6` domain as a key:
-``` sql
+```sql
CREATE TABLE hits (url String, from IPv6) ENGINE = MergeTree() ORDER BY from;
... MORE
OPTIONS:
-h, --help show this help message and exit
--no-pager use stdout as difference result output

View File

@ -36,7 +36,7 @@ def choose_latest_releases():
logging.info('Found stable releases: %s', str(seen.keys()))
return seen.items()
def process_release(args, callback, release):
name, (full_name, tarball_url,) = release
@ -53,8 +53,27 @@ def process_release(args, callback, release):
def build_releases(args, callback):
tasks = []
for release in args.stable_releases:
process_release(args, callback, release)
def get_events(args):
events = []
skip = True
with open(os.path.join(args.docs_dir, '..', 'README.md')) as f:
for line in f:
if skip:
if 'Upcoming Events' in line:
skip = False
else:
if not line:
continue
line = line.strip().split('](')
if len(line) == 2:
tail = line[1].split(') ')
events.append({
'signup_link': tail[0],
'event_name': line[0].replace('* [', ''),
'event_date': tail[1].replace('on ', '').replace('.', '')
})
return events

View File

@ -8,6 +8,7 @@ TEST_DOMAIN="${TEST_DOMAIN:-clickhouse.tech}"
GIT_TEST_URI="${GIT_TEST_URI:-git@github.com:ClickHouse/clickhouse.github.io.git}"
GIT_PROD_URI="git@github.com:ClickHouse/clickhouse.github.io.git"
EXTRA_BUILD_ARGS="${EXTRA_BUILD_ARGS:---enable-stable-releases}"
HISTORY_SIZE="${HISTORY_SIZE:-25}"
if [[ -z "$1" ]]
then
@ -34,7 +35,19 @@ then
git add *
git add ".nojekyll"
git commit -a -m "add new release at $(date)"
git push origin master
NEW_ROOT_COMMIT=$(git rev-parse "HEAD~${HISTORY_SIZE}")
git checkout --orphan temp "${NEW_ROOT_COMMIT}"
git commit -m "root commit"
git rebase --onto temp "${NEW_ROOT_COMMIT}" master
git branch -D temp
git push -f origin master
if [[ ! -z "${CLOUDFLARE_TOKEN}" ]]
then
sleep 1m
set +x
curl -X POST "https://api.cloudflare.com/client/v4/zones/4fc6fb1d46e87851605aa7fa69ca6fe0/purge_cache" -H "Authorization: Bearer ${CLOUDFLARE_TOKEN}" -H "Content-Type:application/json" --data '{"purge_everything":true}'
set -x
fi
cd "${BUILD_DIR}"
DOCKER_HASH=$(head -c 16 < /dev/urandom | xxd -p)
fi

View File

@ -13,6 +13,7 @@ htmlmin==0.1.12
idna==2.9
imagesize==1.2.0
Jinja2==2.11.1
jinja2-highlight==0.6.1
jsmin==2.2.2
livereload==2.6.1
Markdown==2.6.11

View File

@ -8,11 +8,28 @@ import jinja2
import jsmin
def copy_icons(args):
logging.info('Copying icons')
icons_dir = os.path.join(args.output_dir, 'images', 'icons')
os.makedirs(icons_dir)
for icon in [
'github',
'edit',
'external-link'
]:
icon = '%s.svg' % icon
icon_src = os.path.join(args.website_dir, 'images', 'feathericons', 'icons', icon)
icon_dst = os.path.join(icons_dir, icon)
shutil.copy2(icon_src, icon_dst)
def build_website(args):
logging.info('Building website')
env = jinja2.Environment(
loader=args.output_dir
loader=jinja2.FileSystemLoader(args.website_dir),
extensions=['jinja2_highlight.HighlightExtension']
)
env.extend(jinja2_highlight_cssclass='syntax p-3 my-3')
shutil.copytree(
args.website_dir,
@ -23,14 +40,16 @@ def build_website(args):
'build',
'docs',
'public',
'node_modules'
'node_modules',
'templates',
'feathericons'
)
)
for root, _, filenames in os.walk(args.output_dir):
for filename in filenames:
path = os.path.join(root, filename)
if not filename.endswith('.html'):
if not (filename.endswith('.html') or filename.endswith('.css')):
continue
logging.info('Processing %s', path)
with open(path, 'rb') as f:

117
website/css/base.css Normal file
View File

@ -0,0 +1,117 @@
a:link, a:visited {
color: #f14600;
text-decoration: none;
}
a:hover, a:active {
text-decoration: underline;
}
#logo-icon {
width: 40px;
}
#logo-text {
width: 180px;
margin-left: 12px;
}
.btn-outline-orange {
border-color: #f14600;
color: #f14600;
}
.btn-orange, .btn-outline-orange:hover {
background: #f14600;
color: #fff;
}
a.btn-outline-yellow {
border-color: #fc0;
color: #fc0;
}
.btn-yellow, .btn-outline-yellow:hover {
background: #fc0;
color: #000;
}
.btn-yellow:hover {
background: #ffe100;
}
.btn-yellow:hover, .btn-yellow:link, .btn-yellow:visited {
color: #000;
}
.btn:hover, .btn:active {
text-decoration: none;
}
.stealth-link:link, .stealth-link:visited {
color: #000;
text-decoration: none;
}
.text-light .stealth-link:link, .text-light .stealth-link:visited {
color: #fff;
}
.text-muted .stealth-link:link, .text-muted .stealth-link:visited {
color: #999;
}
.text-red {
color: #ff3939;
}
.text-orange {
color: #f14600;
}
.text-yellow {
color: #fc0;
}
.navbar {
border-bottom: 1px solid #efefef;
}
.navbar-light .navbar-nav .nav-link {
color: #000;
}
.navbar-light .navbar-nav .nav-link:hover, .stealth-link:hover, .stealth-link:active {
color: #f14600;
}
.bg-number {
position: absolute;
font-size: 900%;
font-weight: bold;
color: rgba(241, 70, 0, 0.1);
line-height: 1;
margin-top: -1rem;
}
.dots-lb {
background: #fff url('/images/dots.svg') no-repeat 0 100%;
}
.dots-cb {
background: #fff url('/images/dots.svg') no-repeat 50% 100%;
}
.dots-rb {
background: #fff url('/images/dots.svg') no-repeat 100% 100%;
}
.dots-rhb {
background: #fff url('/images/dots.svg') no-repeat 75% 100%;
}
.dots-cc {
background: #fff url('/images/dots.svg') repeat-y 50% -17.5%;
}
{% include "css/highlight.css" %}

74
website/css/highlight.css Normal file
View File

@ -0,0 +1,74 @@
/*
Name: Base16 Paraiso Light
Author: Jan T. Sott
Pygments template by Jan T. Sott (https://github.com/idleberg)
Created with Base16 Builder by Chris Kempson (https://github.com/chriskempson/base16-builder)
*/
.syntax .hll { background-color: #b9b6b0 }
.syntax { background: #f8f9fa; color: #2f1e2e }
.syntax .c { color: #8d8687 } /* Comment */
.syntax .err { color: #ef6155 } /* Error */
.syntax .k { color: #815ba4 } /* Keyword */
.syntax .l { color: #f99b15 } /* Literal */
.syntax .n { color: #2f1e2e } /* Name */
.syntax .o { color: #5bc4bf } /* Operator */
.syntax .p { color: #2f1e2e } /* Punctuation */
.syntax .cm { color: #8d8687 } /* Comment.Multiline */
.syntax .cp { color: #8d8687 } /* Comment.Preproc */
.syntax .c1 { color: #8d8687 } /* Comment.Single */
.syntax .cs { color: #8d8687 } /* Comment.Special */
.syntax .gd { color: #ef6155 } /* Generic.Deleted */
.syntax .ge { font-style: italic } /* Generic.Emph */
.syntax .gh { color: #2f1e2e; font-weight: bold } /* Generic.Heading */
.syntax .gi { color: #48b685 } /* Generic.Inserted */
.syntax .gp { color: #8d8687; font-weight: bold } /* Generic.Prompt */
.syntax .gs { font-weight: bold } /* Generic.Strong */
.syntax .gu { color: #5bc4bf; font-weight: bold } /* Generic.Subheading */
.syntax .kc { color: #815ba4 } /* Keyword.Constant */
.syntax .kd { color: #815ba4 } /* Keyword.Declaration */
.syntax .kn { color: #5bc4bf } /* Keyword.Namespace */
.syntax .kp { color: #815ba4 } /* Keyword.Pseudo */
.syntax .kr { color: #815ba4 } /* Keyword.Reserved */
.syntax .kt { color: #fec418 } /* Keyword.Type */
.syntax .ld { color: #48b685 } /* Literal.Date */
.syntax .m { color: #f99b15 } /* Literal.Number */
.syntax .s { color: #48b685 } /* Literal.String */
.syntax .na { color: #06b6ef } /* Name.Attribute */
.syntax .nb { color: #2f1e2e } /* Name.Builtin */
.syntax .nc { color: #fec418 } /* Name.Class */
.syntax .no { color: #ef6155 } /* Name.Constant */
.syntax .nd { color: #5bc4bf } /* Name.Decorator */
.syntax .ni { color: #2f1e2e } /* Name.Entity */
.syntax .ne { color: #ef6155 } /* Name.Exception */
.syntax .nf { color: #06b6ef } /* Name.Function */
.syntax .nl { color: #2f1e2e } /* Name.Label */
.syntax .nn { color: #fec418 } /* Name.Namespace */
.syntax .nx { color: #06b6ef } /* Name.Other */
.syntax .py { color: #2f1e2e } /* Name.Property */
.syntax .nt { color: #5bc4bf } /* Name.Tag */
.syntax .nv { color: #ef6155 } /* Name.Variable */
.syntax .ow { color: #5bc4bf } /* Operator.Word */
.syntax .w { color: #2f1e2e } /* Text.Whitespace */
.syntax .mf { color: #f99b15 } /* Literal.Number.Float */
.syntax .mh { color: #f99b15 } /* Literal.Number.Hex */
.syntax .mi { color: #f99b15 } /* Literal.Number.Integer */
.syntax .mo { color: #f99b15 } /* Literal.Number.Oct */
.syntax .sb { color: #48b685 } /* Literal.String.Backtick */
.syntax .sc { color: #2f1e2e } /* Literal.String.Char */
.syntax .sd { color: #8d8687 } /* Literal.String.Doc */
.syntax .s2 { color: #48b685 } /* Literal.String.Double */
.syntax .se { color: #f99b15 } /* Literal.String.Escape */
.syntax .sh { color: #48b685 } /* Literal.String.Heredoc */
.syntax .si { color: #f99b15 } /* Literal.String.Interpol */
.syntax .sx { color: #48b685 } /* Literal.String.Other */
.syntax .sr { color: #48b685 } /* Literal.String.Regex */
.syntax .s1 { color: #48b685 } /* Literal.String.Single */
.syntax .ss { color: #48b685 } /* Literal.String.Symbol */
.syntax .bp { color: #2f1e2e } /* Name.Builtin.Pseudo */
.syntax .vc { color: #ef6155 } /* Name.Variable.Class */
.syntax .vg { color: #ef6155 } /* Name.Variable.Global */
.syntax .vi { color: #ef6155 } /* Name.Variable.Instance */
.syntax .il { color: #f99b15 } /* Literal.Number.Integer.Long */

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66.12 10.29"><defs><style>.a{fill:#231f20}</style></defs><title>ClickHouse</title><path d="M58.54,74.8a5,5,0,0,1-1.88-.34,4.26,4.26,0,0,1-1.48-1,4.46,4.46,0,0,1-1-1.55,6.32,6.32,0,0,1,0-4.21,4.39,4.39,0,0,1,2.58-2.57,5.36,5.36,0,0,1,1.93-.34,5.84,5.84,0,0,1,1.56.18,6.38,6.38,0,0,1,1.2.46l-0.36,1.13A5.17,5.17,0,0,0,60,66a4.23,4.23,0,0,0-1.43-.22,3.07,3.07,0,0,0-2.35,1.06,3.81,3.81,0,0,0-.72,1.27,5.17,5.17,0,0,0-.27,1.73,5.35,5.35,0,0,0,.25,1.69,3.61,3.61,0,0,0,.69,1.25,2.88,2.88,0,0,0,1.06.77,3.49,3.49,0,0,0,1.38.27,4,4,0,0,0,1.27-.2A5.71,5.71,0,0,0,61,73.09l0.35,0.85a3.86,3.86,0,0,1-1.12.59A5,5,0,0,1,58.54,74.8Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M64.07,64.51V74.66H62.88V64.51h1.19Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M66.64,66.55a0.71,0.71,0,0,1-.76-0.74,0.78,0.78,0,0,1,.2-0.55,0.79,0.79,0,0,1,1.1,0,0.77,0.77,0,0,1,.21.55,0.72,0.72,0,0,1-.21.53A0.74,0.74,0,0,1,66.64,66.55Zm0.6,1.06v7H66.06v-7h1.19Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M72.29,74.8a3.78,3.78,0,0,1-1.37-.25,3.08,3.08,0,0,1-1.11-.72,3.45,3.45,0,0,1-.74-1.15,4.48,4.48,0,0,1,0-3.08,3.35,3.35,0,0,1,.76-1.15A3.19,3.19,0,0,1,71,67.72a4,4,0,0,1,1.41-.25,4.68,4.68,0,0,1,1.13.13,2.68,2.68,0,0,1,.84.35L74,69a4,4,0,0,0-.79-0.47,2.32,2.32,0,0,0-.92-0.16,2.28,2.28,0,0,0-.88.17,2,2,0,0,0-.73.52,2.52,2.52,0,0,0-.49.85A3.5,3.5,0,0,0,70,71.11a2.8,2.8,0,0,0,.66,2,2.4,2.4,0,0,0,1.79.67,3,3,0,0,0,1.62-.52l0.27,0.88a2.89,2.89,0,0,1-.89.45A3.88,3.88,0,0,1,72.29,74.8Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M77,64.51V74.66H75.79V64.51H77ZM80.1,74.66L77.16,70.9l2.9-3.28H81.3l-2.87,3.14,3.07,3.9H80.1Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M89.17,70.34h-5v4.31H82.88V64.93h1.29v4.44h5V64.93h1.29v9.73H89.17V70.34Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M95.55,74.8a3.49,3.49,0,0,1-1.3-.25,3.11,3.11,0,0,1-1.08-.71,3.44,3.44,0,0,1-.73-1.15,4.6,4.6,0,0,1,0-3.12,3.36,3.36,0,0,1,.73-1.14,3.16,3.16,0,0,1,1.08-.71,3.49,3.49,0,0,1,1.3-.25,3.55,3.55,0,0,1,1.31.25,3.22,3.22,0,0,1,1.09.71,3.39,3.39,0,0,1,.75,1.14,4.49,4.49,0,0,1,0,3.12A3.47,3.47,0,0,1,98,73.84a3.16,3.16,0,0,1-1.09.71A3.55,3.55,0,0,1,95.55,74.8Zm0-.91a2.37,2.37,0,0,0,.82-0.15,1.79,1.79,0,0,0,.71-0.48,2.48,2.48,0,0,0,.5-0.86,3.79,3.79,0,0,0,.19-1.27,3.73,3.73,0,0,0-.19-1.27,2.48,2.48,0,0,0-.5-0.85,1.79,1.79,0,0,0-.71-0.48,2.37,2.37,0,0,0-.82-0.15,2.25,2.25,0,0,0-.8.15,1.82,1.82,0,0,0-.69.48,2.4,2.4,0,0,0-.49.85,3.86,3.86,0,0,0-.18,1.27,3.92,3.92,0,0,0,.18,1.27,2.4,2.4,0,0,0,.49.86,1.81,1.81,0,0,0,.69.48A2.25,2.25,0,0,0,95.55,73.89Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M104.21,74.39a2.69,2.69,0,0,1-1.55.41,2.15,2.15,0,0,1-1.58-.6,2.49,2.49,0,0,1-.6-1.84V67.61h1.2v4.75a2.14,2.14,0,0,0,.1.7,1.08,1.08,0,0,0,.28.45,1,1,0,0,0,.42.24,1.82,1.82,0,0,0,.52.07,2,2,0,0,0,1.27-.38,3,3,0,0,0,.82-1V67.61h1.19v7h-1.05l-0.11-1.26h0A2.5,2.5,0,0,1,104.21,74.39Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M110.11,74.8a7.07,7.07,0,0,1-.9,0,5.45,5.45,0,0,1-.67-0.13,3.23,3.23,0,0,1-.51-0.17,3.55,3.55,0,0,1-.4-0.21l0.39-1a1.88,1.88,0,0,0,.28.19,3.34,3.34,0,0,0,.45.21,3.64,3.64,0,0,0,.61.18,3.74,3.74,0,0,0,.75.07,1.87,1.87,0,0,0,1.15-.3,1,1,0,0,0,.39-0.83,0.87,0.87,0,0,0-.32-0.71,3.35,3.35,0,0,0-1.11-.5l-0.86-.29a3,3,0,0,1-.73-0.38,1.8,1.8,0,0,1-.52-0.58,1.76,1.76,0,0,1-.2-0.88A1.68,1.68,0,0,1,108.6,68a3.23,3.23,0,0,1,1.89-.48,5.65,5.65,0,0,1,1.25.12,4.16,4.16,0,0,1,.84.27l-0.28,1a6.73,6.73,0,0,0-.7-0.3,3.05,3.05,0,0,0-1.06-.16,2.36,2.36,0,0,0-1.09.21,0.79,0.79,0,0,0-.41.77,0.73,0.73,0,0,0,.13.43,1.11,1.11,0,0,0,.34.31,2.48,2.48,0,0,0,.5.23l0.6,0.18,0.81,0.27a2.74,2.74,0,0,1,.72.39,1.74,1.74,0,0,1,.71,1.5,1.91,1.91,0,0,1-.23,1,2,2,0,0,1-.61.66,2.6,2.6,0,0,1-.87.38A4.33,4.33,0,0,1,110.11,74.8Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M119.76,74.05a3,3,0,0,1-1,.53,4.15,4.15,0,0,1-1.37.21,3.35,3.35,0,0,1-2.58-1,3.82,3.82,0,0,1-.9-2.71,4.38,4.38,0,0,1,.25-1.53,3.42,3.42,0,0,1,.69-1.15,2.91,2.91,0,0,1,1-.72,3.34,3.34,0,0,1,1.28-.25,3.2,3.2,0,0,1,1.28.25,2.31,2.31,0,0,1,.94.73,2.75,2.75,0,0,1,.5,1.2,5,5,0,0,1,0,1.66h-4.76q0.08,2.51,2.37,2.51a3.11,3.11,0,0,0,1.08-.17,4.26,4.26,0,0,0,.88-0.44Zm-2.59-5.74a1.77,1.77,0,0,0-1.29.54,2.71,2.71,0,0,0-.68,1.62h3.57a2.18,2.18,0,0,0-.37-1.63A1.53,1.53,0,0,0,117.17,68.31Z" class="a" transform="translate(-53.86 -64.51)"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66.12 10.29"><defs><style>.a{fill:#231f20}</style></defs><title>ClickHouse</title><path d="M58.54,74.8a5,5,0,0,1-1.88-.34,4.26,4.26,0,0,1-1.48-1,4.46,4.46,0,0,1-1-1.55,6.32,6.32,0,0,1,0-4.21,4.39,4.39,0,0,1,2.58-2.57,5.36,5.36,0,0,1,1.93-.34,5.84,5.84,0,0,1,1.56.18,6.38,6.38,0,0,1,1.2.46l-0.36,1.13A5.17,5.17,0,0,0,60,66a4.23,4.23,0,0,0-1.43-.22,3.07,3.07,0,0,0-2.35,1.06,3.81,3.81,0,0,0-.72,1.27,5.17,5.17,0,0,0-.27,1.73,5.35,5.35,0,0,0,.25,1.69,3.61,3.61,0,0,0,.69,1.25,2.88,2.88,0,0,0,1.06.77,3.49,3.49,0,0,0,1.38.27,4,4,0,0,0,1.27-.2A5.71,5.71,0,0,0,61,73.09l0.35,0.85a3.86,3.86,0,0,1-1.12.59A5,5,0,0,1,58.54,74.8Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M64.07,64.51V74.66H62.88V64.51h1.19Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M66.64,66.55a0.71,0.71,0,0,1-.76-0.74,0.78,0.78,0,0,1,.2-0.55,0.79,0.79,0,0,1,1.1,0,0.77,0.77,0,0,1,.21.55,0.72,0.72,0,0,1-.21.53A0.74,0.74,0,0,1,66.64,66.55Zm0.6,1.06v7H66.06v-7h1.19Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M72.29,74.8a3.78,3.78,0,0,1-1.37-.25,3.08,3.08,0,0,1-1.11-.72,3.45,3.45,0,0,1-.74-1.15,4.48,4.48,0,0,1,0-3.08,3.35,3.35,0,0,1,.76-1.15A3.19,3.19,0,0,1,71,67.72a4,4,0,0,1,1.41-.25,4.68,4.68,0,0,1,1.13.13,2.68,2.68,0,0,1,.84.35L74,69a4,4,0,0,0-.79-0.47,2.32,2.32,0,0,0-.92-0.16,2.28,2.28,0,0,0-.88.17,2,2,0,0,0-.73.52,2.52,2.52,0,0,0-.49.85A3.5,3.5,0,0,0,70,71.11a2.8,2.8,0,0,0,.66,2,2.4,2.4,0,0,0,1.79.67,3,3,0,0,0,1.62-.52l0.27,0.88a2.89,2.89,0,0,1-.89.45A3.88,3.88,0,0,1,72.29,74.8Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M77,64.51V74.66H75.79V64.51H77ZM80.1,74.66L77.16,70.9l2.9-3.28H81.3l-2.87,3.14,3.07,3.9H80.1Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M89.17,70.34h-5v4.31H82.88V64.93h1.29v4.44h5V64.93h1.29v9.73H89.17V70.34Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M95.55,74.8a3.49,3.49,0,0,1-1.3-.25,3.11,3.11,0,0,1-1.08-.71,3.44,3.44,0,0,1-.73-1.15,4.6,4.6,0,0,1,0-3.12,3.36,3.36,0,0,1,.73-1.14,3.16,3.16,0,0,1,1.08-.71,3.49,3.49,0,0,1,1.3-.25,3.55,3.55,0,0,1,1.31.25,3.22,3.22,0,0,1,1.09.71,3.39,3.39,0,0,1,.75,1.14,4.49,4.49,0,0,1,0,3.12A3.47,3.47,0,0,1,98,73.84a3.16,3.16,0,0,1-1.09.71A3.55,3.55,0,0,1,95.55,74.8Zm0-.91a2.37,2.37,0,0,0,.82-0.15,1.79,1.79,0,0,0,.71-0.48,2.48,2.48,0,0,0,.5-0.86,3.79,3.79,0,0,0,.19-1.27,3.73,3.73,0,0,0-.19-1.27,2.48,2.48,0,0,0-.5-0.85,1.79,1.79,0,0,0-.71-0.48,2.37,2.37,0,0,0-.82-0.15,2.25,2.25,0,0,0-.8.15,1.82,1.82,0,0,0-.69.48,2.4,2.4,0,0,0-.49.85,3.86,3.86,0,0,0-.18,1.27,3.92,3.92,0,0,0,.18,1.27,2.4,2.4,0,0,0,.49.86,1.81,1.81,0,0,0,.69.48A2.25,2.25,0,0,0,95.55,73.89Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M104.21,74.39a2.69,2.69,0,0,1-1.55.41,2.15,2.15,0,0,1-1.58-.6,2.49,2.49,0,0,1-.6-1.84V67.61h1.2v4.75a2.14,2.14,0,0,0,.1.7,1.08,1.08,0,0,0,.28.45,1,1,0,0,0,.42.24,1.82,1.82,0,0,0,.52.07,2,2,0,0,0,1.27-.38,3,3,0,0,0,.82-1V67.61h1.19v7h-1.05l-0.11-1.26h0A2.5,2.5,0,0,1,104.21,74.39Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M110.11,74.8a7.07,7.07,0,0,1-.9,0,5.45,5.45,0,0,1-.67-0.13,3.23,3.23,0,0,1-.51-0.17,3.55,3.55,0,0,1-.4-0.21l0.39-1a1.88,1.88,0,0,0,.28.19,3.34,3.34,0,0,0,.45.21,3.64,3.64,0,0,0,.61.18,3.74,3.74,0,0,0,.75.07,1.87,1.87,0,0,0,1.15-.3,1,1,0,0,0,.39-0.83,0.87,0.87,0,0,0-.32-0.71,3.35,3.35,0,0,0-1.11-.5l-0.86-.29a3,3,0,0,1-.73-0.38,1.8,1.8,0,0,1-.52-0.58,1.76,1.76,0,0,1-.2-0.88A1.68,1.68,0,0,1,108.6,68a3.23,3.23,0,0,1,1.89-.48,5.65,5.65,0,0,1,1.25.12,4.16,4.16,0,0,1,.84.27l-0.28,1a6.73,6.73,0,0,0-.7-0.3,3.05,3.05,0,0,0-1.06-.16,2.36,2.36,0,0,0-1.09.21,0.79,0.79,0,0,0-.41.77,0.73,0.73,0,0,0,.13.43,1.11,1.11,0,0,0,.34.31,2.48,2.48,0,0,0,.5.23l0.6,0.18,0.81,0.27a2.74,2.74,0,0,1,.72.39,1.74,1.74,0,0,1,.71,1.5,1.91,1.91,0,0,1-.23,1,2,2,0,0,1-.61.66,2.6,2.6,0,0,1-.87.38A4.33,4.33,0,0,1,110.11,74.8Z" class="a" transform="translate(-53.86 -64.51)"/><path d="M119.76,74.05a3,3,0,0,1-1,.53,4.15,4.15,0,0,1-1.37.21,3.35,3.35,0,0,1-2.58-1,3.82,3.82,0,0,1-.9-2.71,4.38,4.38,0,0,1,.25-1.53,3.42,3.42,0,0,1,.69-1.15,2.91,2.91,0,0,1,1-.72,3.34,3.34,0,0,1,1.28-.25,3.2,3.2,0,0,1,1.28.25,2.31,2.31,0,0,1,.94.73,2.75,2.75,0,0,1,.5,1.2,5,5,0,0,1,0,1.66h-4.76q0.08,2.51,2.37,2.51a3.11,3.11,0,0,0,1.08-.17,4.26,4.26,0,0,0,.88-0.44Zm-2.59-5.74a1.77,1.77,0,0,0-1.29.54,2.71,2.71,0,0,0-.68,1.62h3.57a2.18,2.18,0,0,0-.37-1.63A1.53,1.53,0,0,0,117.17,68.31Z" class="a" transform="translate(-53.86 -64.51)"/></svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

3
website/images/curl.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="111" height="70" viewBox="0 0 111 70" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M67.3198 0.959506C67.4924 0.96748 67.6363 0.974118 67.8076 1.01082C70.126 1.37706 71.9328 3.44725 72.682 6.56272C73.2135 8.77555 73.5999 11.0105 73.8424 13.2387C76.7404 14.7835 80.1201 15.8898 83.7252 16.4882C92.1398 17.8271 100.87 16.0996 108.373 11.609C109.054 11.2086 109.938 11.4222 110.339 12.1029C110.74 12.7837 110.526 13.6664 109.844 14.0668C101.777 18.9057 92.3202 20.7723 83.2479 19.3167C79.9854 18.7916 76.858 17.841 74.0631 16.5601C74.3551 23.3112 73.3263 29.9437 70.9901 36.1703C67.7363 44.7731 62.0783 52.3723 54.6303 58.1612C47.1822 63.95 38.4205 67.6051 29.2583 68.708C19.5454 69.8717 9.796 68.0969 1.04043 63.5462C0.337163 63.1682 0.0593615 62.3204 0.437963 61.618C0.816556 60.9157 1.66559 60.6382 2.36886 61.0162C10.5885 65.3117 19.7665 66.9738 28.8999 65.8697C37.5403 64.8291 45.831 61.3826 52.8315 55.9186C59.8607 50.4559 65.1822 43.273 68.2682 35.1808C70.6686 28.8132 71.6204 21.9756 71.05 15.0101C68.3011 13.3571 65.9738 11.3204 64.3202 9.05577C62.775 6.94009 62.4776 4.65169 63.5385 2.91552C64.378 1.60102 65.795 0.889069 67.3198 0.959506ZM70.648 11.2484C70.4504 9.91481 70.1665 8.57721 69.8539 7.23828C69.3966 5.28802 68.4456 4.03478 67.3289 3.86802C66.785 3.78532 66.2852 3.99256 66.035 4.4129C65.5989 5.11258 65.866 6.19028 66.7059 7.35201C67.7364 8.75289 69.0875 10.0822 70.648 11.2484Z" fill="#F14600"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

22
website/images/dots.svg Normal file
View File

@ -0,0 +1,22 @@
<svg width="92" height="73" viewBox="0 0 92 73" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M89.4292 5.50578C90.7234 5.50578 91.7725 4.45718 91.7725 3.16366C91.7725 1.87014 90.7234 0.821533 89.4292 0.821533C88.1351 0.821533 87.0859 1.87014 87.0859 3.16366C87.0859 4.45718 88.1351 5.50578 89.4292 5.50578Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M89.4292 26.1166C90.7234 26.1166 91.7725 25.068 91.7725 23.7745C91.7725 22.481 90.7234 21.4324 89.4292 21.4324C88.1351 21.4324 87.0859 22.481 87.0859 23.7745C87.0859 25.068 88.1351 26.1166 89.4292 26.1166Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M89.4292 46.7269C90.7234 46.7269 91.7725 45.6783 91.7725 44.3848C91.7725 43.0913 90.7234 42.0427 89.4292 42.0427C88.1351 42.0427 87.0859 43.0913 87.0859 44.3848C87.0859 45.6783 88.1351 46.7269 89.4292 46.7269Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M89.4292 67.3375C90.7234 67.3375 91.7725 66.2889 91.7725 64.9954C91.7725 63.7019 90.7234 62.6533 89.4292 62.6533C88.1351 62.6533 87.0859 63.7019 87.0859 64.9954C87.0859 66.2889 88.1351 67.3375 89.4292 67.3375Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M68.8111 5.50578C70.1052 5.50578 71.1543 4.45718 71.1543 3.16366C71.1543 1.87014 70.1052 0.821533 68.8111 0.821533C67.5169 0.821533 66.4678 1.87014 66.4678 3.16366C66.4678 4.45718 67.5169 5.50578 68.8111 5.50578Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M68.8111 26.1161C70.1052 26.1161 71.1543 25.0675 71.1543 23.774C71.1543 22.4805 70.1052 21.4319 68.8111 21.4319C67.5169 21.4319 66.4678 22.4805 66.4678 23.774C66.4678 25.0675 67.5169 26.1161 68.8111 26.1161Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M68.8111 46.7272C70.1052 46.7272 71.1543 45.6786 71.1543 44.3851C71.1543 43.0916 70.1052 42.043 68.8111 42.043C67.5169 42.043 66.4678 43.0916 66.4678 44.3851C66.4678 45.6786 67.5169 46.7272 68.8111 46.7272Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M68.8111 67.3375C70.1052 67.3375 71.1543 66.2889 71.1543 64.9954C71.1543 63.7019 70.1052 62.6533 68.8111 62.6533C67.5169 62.6533 66.4678 63.7019 66.4678 64.9954C66.4678 66.2889 67.5169 67.3375 68.8111 67.3375Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M48.1871 5.50578C49.4812 5.50578 50.5304 4.45718 50.5304 3.16366C50.5304 1.87014 49.4812 0.821533 48.1871 0.821533C46.8929 0.821533 45.8438 1.87014 45.8438 3.16366C45.8438 4.45718 46.8929 5.50578 48.1871 5.50578Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M48.1871 26.1163C49.4812 26.1163 50.5304 25.0677 50.5304 23.7742C50.5304 22.4807 49.4812 21.4321 48.1871 21.4321C46.8929 21.4321 45.8438 22.4807 45.8438 23.7742C45.8438 25.0677 46.8929 26.1163 48.1871 26.1163Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M48.1871 46.7269C49.4812 46.7269 50.5304 45.6783 50.5304 44.3848C50.5304 43.0913 49.4812 42.0427 48.1871 42.0427C46.8929 42.0427 45.8438 43.0913 45.8438 44.3848C45.8438 45.6783 46.8929 46.7269 48.1871 46.7269Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M48.1871 67.3375C49.4812 67.3375 50.5304 66.2889 50.5304 64.9954C50.5304 63.7019 49.4812 62.6533 48.1871 62.6533C46.8929 62.6533 45.8438 63.7019 45.8438 64.9954C45.8438 66.2889 46.8929 67.3375 48.1871 67.3375Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M27.566 5.50578C28.8601 5.50578 29.9093 4.45718 29.9093 3.16366C29.9093 1.87014 28.8601 0.821533 27.566 0.821533C26.2718 0.821533 25.2227 1.87014 25.2227 3.16366C25.2227 4.45718 26.2718 5.50578 27.566 5.50578Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M27.566 26.1161C28.8601 26.1161 29.9093 25.0675 29.9093 23.774C29.9093 22.4805 28.8601 21.4319 27.566 21.4319C26.2718 21.4319 25.2227 22.4805 25.2227 23.774C25.2227 25.0675 26.2718 26.1161 27.566 26.1161Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M27.566 46.7272C28.8601 46.7272 29.9093 45.6786 29.9093 44.3851C29.9093 43.0916 28.8601 42.043 27.566 42.043C26.2718 42.043 25.2227 43.0916 25.2227 44.3851C25.2227 45.6786 26.2718 46.7272 27.566 46.7272Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M27.566 67.3375C28.8601 67.3375 29.9093 66.2889 29.9093 64.9954C29.9093 63.7019 28.8601 62.6533 27.566 62.6533C26.2718 62.6533 25.2227 63.7019 25.2227 64.9954C25.2227 66.2889 26.2718 67.3375 27.566 67.3375Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M6.94437 5.50578C8.23854 5.50578 9.28767 4.45718 9.28767 3.16366C9.28767 1.87014 8.23854 0.821533 6.94437 0.821533C5.65021 0.821533 4.60107 1.87014 4.60107 3.16366C4.60107 4.45718 5.65021 5.50578 6.94437 5.50578Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M6.94389 26.1166C8.23805 26.1166 9.28719 25.068 9.28719 23.7745C9.28719 22.481 8.23805 21.4324 6.94389 21.4324C5.64972 21.4324 4.60059 22.481 4.60059 23.7745C4.60059 25.068 5.64972 26.1166 6.94389 26.1166Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M6.94389 46.7269C8.23805 46.7269 9.28719 45.6783 9.28719 44.3848C9.28719 43.0913 8.23805 42.0427 6.94389 42.0427C5.64972 42.0427 4.60059 43.0913 4.60059 44.3848C4.60059 45.6783 5.64972 46.7269 6.94389 46.7269Z" fill="#F14600" fill-opacity="0.2"/>
<path d="M6.94389 67.3375C8.23805 67.3375 9.28719 66.2889 9.28719 64.9954C9.28719 63.7019 8.23805 62.6533 6.94389 62.6533C5.64972 62.6533 4.60059 63.7019 4.60059 64.9954C4.60059 66.2889 5.64972 67.3375 6.94389 67.3375Z" fill="#F14600" fill-opacity="0.2"/>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

@ -0,0 +1 @@
Subproject commit dca4f121b86577616e90d46ffcd9771942311f71

View File

@ -0,0 +1,4 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="30" cy="30" r="30" fill="#FAFAFA"/>
<path d="M26.4016 14.4C26.1196 14.4001 25.8466 14.4996 25.6306 14.6809C25.4146 14.8621 25.2693 15.1137 25.2203 15.3914L21.6438 30.8789L21.6461 30.8813C21.617 30.985 21.602 31.0923 21.6016 31.2C21.6016 31.5183 21.728 31.8235 21.953 32.0486C22.1781 32.2736 22.4833 32.4 22.8016 32.4H29.4016L27.625 44.161C27.6092 44.2397 27.6014 44.3198 27.6016 44.4C27.6016 44.7183 27.728 45.0235 27.953 45.2486C28.1781 45.4736 28.4833 45.6 28.8016 45.6C29.0196 45.5997 29.2335 45.5399 29.4201 45.4272C29.6067 45.3145 29.7592 45.153 29.8609 44.9602H29.8633L38.1695 29.5078L38.1578 29.4867C38.2999 29.2896 38.4016 29.0614 38.4016 28.8C38.4016 28.1376 37.864 27.6 37.2016 27.6H30.6016L34.6961 16.0922C34.7657 15.9375 34.8016 15.7697 34.8016 15.6C34.8016 15.2818 34.6751 14.9765 34.4501 14.7515C34.225 14.5265 33.9198 14.4 33.6016 14.4H26.4016Z" fill="#F14600"/>
</svg>

After

Width:  |  Height:  |  Size: 993 B

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 2.4 MiB

View File

@ -0,0 +1,4 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="30" cy="30" r="30" fill="#FAFAFA"/>
<path d="M36.75 18.5C32.4075 18.5 30 21.635 30 21.635C30 21.635 27.5925 18.5 23.25 18.5C18.693 18.5 15 22.193 15 26.75C15 33.7775 25.884 42.4385 29.109 44.8505C29.64 45.248 30.3585 45.248 30.8895 44.8505C34.116 42.4385 45 33.7775 45 26.75C45 22.193 41.307 18.5 36.75 18.5Z" fill="#F14600"/>
</svg>

After

Width:  |  Height:  |  Size: 442 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 49 KiB

View File

@ -0,0 +1,4 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="30" cy="30" r="30" fill="#FAFAFA"/>
<path d="M18 18C16.3455 18 15 19.3455 15 21V39C15 40.6545 16.3455 42 18 42C18 42.828 18.672 43.5 19.5 43.5C20.328 43.5 21 42.828 21 42H39C39 42.828 39.672 43.5 40.5 43.5C41.328 43.5 42 42.828 42 42C43.6545 42 45 40.6545 45 39V21C45 19.3455 43.6545 18 42 18H18ZM39.8818 23.1211C40.2658 23.1211 40.6499 23.2651 40.9424 23.5576C41.5289 24.1441 41.5274 25.0937 40.9424 25.6787L39.6504 26.9707C40.1784 27.8647 40.5 28.89 40.5 30C40.5 31.11 40.1784 32.1368 39.6504 33.0293L41.0742 34.4531C41.6592 35.0381 41.6592 35.9892 41.0742 36.5742C40.4892 37.1607 39.5396 37.1592 38.9531 36.5742L37.5293 35.1504C36.6368 35.6769 35.61 36 34.5 36C33.39 36 32.3632 35.6784 31.4707 35.1504L30.1787 36.4424C29.5937 37.0274 28.6426 37.0274 28.0576 36.4424C27.4726 35.8574 27.4726 34.9063 28.0576 34.3213L29.3496 33.0293C28.8216 32.1368 28.5 31.11 28.5 30C28.5 28.89 28.8216 27.8632 29.3496 26.9707L28.1924 25.8105C27.6074 25.2255 27.6074 24.2774 28.1924 23.6924C28.7774 23.1074 29.7255 23.1074 30.3105 23.6924L31.4707 24.8496C32.3632 24.3216 33.39 24 34.5 24C35.61 24 36.6368 24.3216 37.5293 24.8496L38.8213 23.5576C39.1138 23.2651 39.4978 23.1211 39.8818 23.1211ZM21 25.5C21.828 25.5 22.5 26.172 22.5 27V33C22.5 33.828 21.828 34.5 21 34.5C20.172 34.5 19.5 33.828 19.5 33V27C19.5 26.172 20.172 25.5 21 25.5ZM34.5 27C33.7044 27 32.9413 27.3161 32.3787 27.8787C31.8161 28.4413 31.5 29.2044 31.5 30C31.5 30.7956 31.8161 31.5587 32.3787 32.1213C32.9413 32.6839 33.7044 33 34.5 33C35.2956 33 36.0587 32.6839 36.6213 32.1213C37.1839 31.5587 37.5 30.7956 37.5 30C37.5 29.2044 37.1839 28.4413 36.6213 27.8787C36.0587 27.3161 35.2956 27 34.5 27Z" fill="#F14600"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 665 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 687 B

View File

@ -1,434 +0,0 @@
body {
background: #fff;
font: 300 14pt/200% -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji,Segoe UI Emoji;
margin: 0;
padding: 0;
}
#navbar {
top: 0;
z-index: 100;
position: fixed;
width: 100%;
background: #fff;
border-bottom: 1px solid #efefef;
padding: 6px 0 0 0;
margin: 0;
}
#navbar-inner {
max-width: 1280px;
height: 50px;
margin: 4px auto;
}
#logo {
color: #000;
text-decoration: none;
font-size: 110%;
}
#logo-text {
width: 200px;
height: 44px;
}
#main-title {
margin: 0;
}
#title-logo {
margin: 1px 8px 0 13px;
}
#github {
bottom: 0;
right: 0;
z-index: 100;
position: fixed;
font-size: 85%;
font-weight: 400;
padding: 0 4em;
margin: 0 -4em 2.5em 0;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
background: #fd0;
border: 2px solid #000;
}
#github_link {
color: #000;
}
#github_link:hover {
color: #000;
}
.page {
max-width: 800px;
margin: auto;
}
h2 {
margin: 47px 0 23px;
font-size: 200%;
}
a:link, a:visited {
color: #f14600;
text-decoration: none;
}
a:hover, a:active {
text-decoration: underline;
}
#top-menu {
margin: 8px 0 0 0;
font-size: 18pt;
float: right;
}
.menu_item:link,
.menu_item:active,
.menu_item:visited {
margin: 0 8px 0 0;
padding: 5px;
color: #000;
}
.menu_item:hover, .index_item:hover {
padding-bottom: 4px;
border-bottom: 2px solid #fc0;
text-decoration: none;
}
.index_item:link,
.index_item:active,
.index_item:visited {
color: #ededed;
}
#short-description {
font-size: 125%;
margin: 0 1em 1.75em 0;
text-align: left;
}
#hero {
background: #555;
padding: 110px 0 40px 0;
color: #ededed;
}
#index_ul {
margin-top: 2px;
padding-left: 20px;
}
#slogan {
}
#placeholder {
width: 66%;
margin: 5% auto 0 auto;
}
.colored-block {
width: 100%;
padding: 20px 0 60px 0;
margin: 60px 0;
}
.colored-block>h2 {
margin-top: 0;
}
#performance, #announcement {
background: #fc0;
}
#announcement {
margin: 0 0 60px 0;
padding: 20px 0;
font-size: 125%;
}
.announcement-link {
color: #000!important;
text-decoration: underline!important;
margin: 1em 0;
}
.announcement-link:hover {
color: #000!important;
}
#call_to_action, #benchmark_learn_more {
text-decoration: none;
padding-left: 18px;
font-size: 120%;
width: 182px;
height: 50px;
line-height: 50px;
display: block;
margin-bottom: 15px;
}
#call_to_action {
background: url('images/yandex-white-button.png') no-repeat;
color: #ededed;
}
#call_to_action:hover {
color: #fc0;
}
#benchmark_learn_more {
background: url('images/yandex-black-button.png') no-repeat;
float: right;
color: #000;
}
#grey-block {
background: #555;
color: #ededed;
}
#footer {
text-align: right;
padding: 8px 0 0 0;
font-size: 10pt;
}
#footer, .grey, .warranty, .warranty a {
color: #888;
}
pre {
font: 13px/18px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
display: block;
border-left: 5px solid #ffdb4d;
padding: 5px 10px;
background-color: #fff8e8;
overflow: scroll;
}
ul {
margin: 0;
padding-left: 0;
}
ul.dashed {
list-style-type: none;
}
ul.dashed > li {
text-indent: 15px;
margin-top: -5px;
}
ul.dashed > li:before {
content: '— ';
text-indent: 1em;
}
img {
width: 100%;
}
.warranty {
margin-top: 6em;
font-size: 50%;
line-height: 150%;
border-top: 1px solid #888;
padding: 1em 0;
}
.distributive_selected {
color: #000;
font-weight: bold;
}
.distributive_not_selected {
color: #f14600;
cursor: pointer;
border-bottom: 1px solid #f14600;
}
#tutorial_logo {
float: left;
margin-right: -100%;
margin-top: 34px;
margin-left: 3px;
}
#tutorial_title {
font-size: 100px;
margin-top: 25px;
margin-bottom: 0;
text-align: center;
padding-top: 27px;
}
#tutorial_subtitle {
font-size: 50px;
text-align: center;
margin-top: 35px;
margin-bottom: 50px;
}
.spoiler {
margin-bottom: 10px;
}
.spoiler_body {
display: none;
}
.spoiler_title {
color: #f14600;
border-bottom: 1px dotted #f14600;
}
.spoiler_title:hover {
cursor: pointer;
color: #f00;
border-bottom: 1px dotted #f00;
text-decoration: none;
}
.tip {
background-color: #EEE;
border: 1px solid #EEE;
padding: 5px 10px 5px 10px;
}
.tip b {
font-size: 150%;
color: #888;
}
.block-50 {
float: left;
display: block;
width: 50%;
}
.block-30 {
float: left;
display: block;
width: 30%;
}
.block-70 {
float: left;
display: block;
width: 70%;
}
.clear {
clear: both;
}
.orange {
fill: #fc0;
color: #fc0;
}
.red {
fill: #f00;
color: #f00;
}
@media (max-width: 1023px) {
body {
font-size: 18pt;
}
#index_ul {
padding-bottom: 30px;
padding-left: 0;
margin: 0 0 30px -16px;
font-size: 90%;
}
#hero {
padding: 40px 0 0 0;
}
.desktop-only {
display: none;
}
.page {
width: 90%;
margin: 0 auto;
}
#navbar {
position: relative;
text-align: center;
margin: 1.33em 0;
padding: 0;
border: none;
}
#hero ul.dashed > li:before {
content: '';
}
#hero .index_item {
font-size: 110%;
}
#hero .dashed {
margin-bottom: 50px;
}
#call_to_action {
margin: 20px 0 40px 0;
}
#short-description {
margin-bottom: 40px;
}
#github {
position: relative;
padding: 0;
margin: 0;
text-align: center;
font-weight: 300;
font-size: 110%;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
background: #fc0;
border: 0;
mix-blend-mode: normal;
}
#benchmark_learn_more, #call_to_action {
font-size: 90%;
}
.block-30, .block-50, .block-70 {
width: 100%;
float: none;
}
#tutorial_logo, #tutorial_title, #tutorial_subtitle {
float: none;
text-align: left;
margin: 10px 0;
padding: 0;
}
#tutorial_title {
font-size: 75px;
}
}

View File

@ -1,632 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>ClickHouse — open source distributed column-oriented DBMS</title>
<link rel="shortcut icon" href="favicon.ico"/>
<meta property="og:title" content="ClickHouse DBMS"/>
<meta property="og:description"
content="ClickHouse is an open source column-oriented database management system that allows generating analytical data reports in real time using SQL queries."/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="https://clickhouse.tech"/>
<meta property="og:image" content="https://clickhouse.tech/images/logo.png"/>
<meta property="twitter:title" content="ClickHouse DBMS"/>
<meta name="description"
content="ClickHouse is an open source distributed column-oriented database management system that allows generating analytical data reports in real time using SQL queries. Сreated by Yandex ClickHouse manages extremely large volumes of data in a stable and sustainable manner."/>
<meta name="keywords"
content="ClickHouse, DBMS, OLAP, relational, analytics, analytical, big data, open-source, SQL, web-analytics" />
<link href="index.css?{{ rev_short }}" media="all" rel="stylesheet" />
</head>
<body>
<div id="navbar">
<div id="navbar-inner">
<div id="top-menu" class="desktop-only">
<a class="menu_item" href="#quick-start">Quick Start</a>
<a class="menu_item" href="#performance">Performance</a>
<a class="menu_item" href="docs/en/">Documentation</a>
<a class="menu_item" href="https://clickhouse.yandex/blog/en/">Blog</a>
<a class="menu_item" href="#contacts">Contacts</a>
</div>
<a id="logo" href="#">
<h1 id="main-title">
<svg id="title-logo" xmlns="http://www.w3.org/2000/svg" width="48" height="44" viewBox="0 0 9 8">
<path class="red" d="M0,7 h1 v1 h-1 z"></path>
<path class="orange" d="M0,0 h1 v7 h-1 z"></path>
<path class="orange" d="M2,0 h1 v8 h-1 z"></path>
<path class="orange" d="M4,0 h1 v8 h-1 z"></path>
<path class="orange" d="M6,0 h1 v8 h-1 z"></path>
<path class="orange" d="M8,3.25 h1 v1.5 h-1 z"></path>
</svg>
<img id="logo-text" src="images/clickhouse-black.svg?{{ rev_short }}" alt="ClickHouse" />
</h1>
</a>
</div>
</div>
<div id="hero">
<div class="page">
<div class="block-70">
<p id="short-description">ClickHouse is an <a href="https://github.com/ClickHouse/ClickHouse" rel="external nofollow" target="_blank" class="orange">open&nbsp;source</a> column-oriented
database management system
capable of <span class="orange">real&nbsp;time</span> generation of analytical data reports using <span
class="orange">SQL</span>&nbsp;queries.</p>
<a id="call_to_action" href="#quick-start">
Quick Start
</a>
</div>
<div class="block-30">
<ul id="index_ul" class="dashed">
<li>
<a class="index_item" href="#blazing-fast">Blazing Fast</a>
</li>
<li>
<a class="index_item" href="#linearly-scalable">Linearly Scalable</a>
</li>
<li>
<a class="index_item" href="#hardware-efficient">Hardware Efficient</a>
</li>
<li>
<a class="index_item" href="#fault-tolerant">Fault Tolerant</a>
</li>
<li>
<a class="index_item" href="#key-features">Feature Rich</a>
</li>
<li>
<a class="index_item" href="#highly-reliable">Highly Reliable</a>
</li>
<li>
<a class="index_item" href="#simple-and-handy">Simple and Handy</a>
</li>
</ul>
</div>
<div class="clear"></div>
</div>
</div>
<div id="announcement" class="colored-block">
<div class="page">
</div>
</div>
<div class="page">
<h2 id="slogan">ClickHouse. Just makes you think faster.</h2>
<div class="block-70">
<ul class="dashed">
<li>Run more queries in the same amount of time</li>
<li>Test more hypotheses</li>
<li>Slice and dice your data in many more new ways</li>
<li>Look at your data from new angles</li>
<li>Discover new dimensions</li>
</ul>
</div>
<div class="block-30">
<svg id="placeholder" class="desktop-only" viewBox="0 0 76 76" xmlns="http://www.w3.org/2000/svg">
<defs>
<rect id="path-1" x="0" y="16" width="60" height="60" rx="1"></rect>
<mask id="mask-2" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="60" height="60" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<rect id="path-3" x="16" y="0" width="60" height="60" rx="1"></rect>
<mask id="mask-4" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="60" height="60" fill="white">
<use xlink:href="#path-3"></use>
</mask>
<rect id="path-5" x="0" y="8" width="20" height="20" rx="1"></rect>
<mask id="mask-6" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="20" height="20" fill="white">
<use xlink:href="#path-5"></use>
</mask>
<rect id="path-7" x="8" y="0" width="20" height="20" rx="1"></rect>
<mask id="mask-8" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="20" height="20" fill="white">
<use xlink:href="#path-7"></use>
</mask>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
<g id="Clickhouse_2" transform="translate(-558.000000, -1293.000000)">
<g id="Group-11" transform="translate(558.000000, 1293.000000)">
<use stroke="#FFCC00" mask="url(#mask-2)" stroke-width="4" xlink:href="#path-1"></use>
<use stroke="#FFCC00" mask="url(#mask-4)" stroke-width="4" xlink:href="#path-3"></use>
<path d="M0.989013672,17.017334 L16.8210449,1.16748047" stroke="#FFCC00" stroke-width="2"></path>
<path d="M59.0788574,74.9973145 L74.7983398,59.2650146" stroke="#FFCC00" stroke-width="2"></path>
<path d="M59.1091309,17.1687012 L74.9368896,1.10351562" stroke="#FFCC00" stroke-width="2"></path>
<path d="M1.07910156,17.2504883 L26.0395508,33.4033203" stroke="#FFCC00" stroke-width="2"></path>
<path d="M17.2602539,1.18457031 L34.0175781,25.1796875" stroke="#FFCC00" stroke-width="2"></path>
<path d="M51.2958984,25.4736328 L58.8277588,17" stroke="#FFCC00" stroke-width="2"></path>
<path d="M1.01904297,50.942627 L25.9216309,75.064209" stroke="#FFCC00" stroke-width="2" transform="translate(13.470337, 63.003418) scale(-1, 1) translate(-13.470337, -63.003418) "></path>
<path d="M44.1804199,51.300293 L58.9638672,75.010498" stroke="#FFCC00" stroke-width="2"></path>
<path d="M52.0131836,43.1345215 L75.0227051,58.9299316" stroke="#FFCC00" stroke-width="2"></path>
<g id="Group-3" transform="translate(25.000000, 24.000000)" stroke="#444444">
<use mask="url(#mask-6)" stroke-width="4" xlink:href="#path-5"></use>
<use mask="url(#mask-8)" stroke-width="4" xlink:href="#path-7"></use>
<path d="M19.2587891,1.08825684 L26.7729492,8.8046875" stroke-width="2" transform="translate(23.015869, 4.946472) scale(-1, 1) translate(-23.015869, -4.946472) "></path>
<path d="M1.05773926,1.04125977 L8.82080078,8.9654541" stroke-width="2" transform="translate(4.939270, 5.003357) scale(-1, 1) translate(-4.939270, -5.003357) "></path>
<path d="M1.12487793,18.887207 L9.26220703,26.8897705" stroke-width="2" transform="translate(5.193542, 22.888489) scale(-1, 1) translate(-5.193542, -22.888489) "></path>
<path d="M19.038208,19.1968994 L26.9085693,26.9760742" stroke-width="2" transform="translate(22.973389, 23.086487) scale(-1, 1) translate(-22.973389, -23.086487) "></path>
</g>
</g>
</g>
</g>
</svg>
</div>
<div class="clear"></div>
<h2 id="blazing-fast">Blazing Fast</h2>
<p>ClickHouse's performance <a href="benchmark.html">exceeds</a> comparable column-oriented DBMS currently available
on the market. It&nbsp;processes hundreds of millions to more than a billion rows and tens of gigabytes of data
per single server per second.</p>
<p>ClickHouse uses all available hardware to its full potential to process each query as fast as possible. The peak
processing performance for a single query <span class="grey">(after decompression, only used columns)</span>
stands at more than 2&nbsp;terabytes per second.</p>
</div>
<div id="performance" class="colored-block">
<div class="page">
<h2>ClickHouse works 100-1,000x faster than traditional approaches</h2>
<p>In contrast to common data management methods, where vast amounts of raw data in its native format are available as
a "data lake" for any given query,
ClickHouse offers instant results in most cases: the data is processed faster than it&nbsp;takes
to create a query. Follow the link below to see detailed benchmarks by Yandex of ClickHouse in comparison
with other database management systems. Also there are some links on third-party benchmarks in the following section.</p>
<a id="benchmark_learn_more" href="benchmark.html">
Learn more
</a>
<div class="clear"></div>
</div>
</div>
<div class="page">
<h2 id="independent-benchmarks">Independent Benchmarks</h2>
<ul class="dashed">
<li><a href="https://www.percona.com/blog/2017/02/13/clickhouse-new-opensource-columnar-database/"
rel="external nofollow" target="_blank">ClickHouse: New Open Source Columnar Database</a> by Percona</li>
<li><a href="https://www.percona.com/blog/2017/03/17/column-store-database-benchmarks-mariadb-columnstore-vs-clickhouse-vs-apache-spark/"
title="MariaDB ColumnStore vs. Clickhouse vs. Apache Spark"
rel="external nofollow" target="_blank">Column Store Database Benchmarks</a> by Percona</li>
<li><a href="http://tech.marksblogg.com/billion-nyc-taxi-clickhouse.html"
rel="external nofollow" target="_blank">1.1 Billion Taxi Rides on ClickHouse & an Intel Core i5</a> by Mark Litwintschik</li>
<li><a href="https://tech.marksblogg.com/billion-nyc-taxi-rides-clickhouse-cluster.html"
rel="external nofollow" target="_blank">1.1 Billion Taxi Rides: 108-core ClickHouse Cluster</a> by Mark Litwintschik</li>
<li><a href="https://www.altinity.com/blog/2017/6/20/clickhouse-vs-redshift"
rel="external nofollow" target="_blank">ClickHouse vs Amazon RedShift Benchmark</a> by Altinity</li>
<li><a href="https://carto.com/blog/inside/geospatial-processing-with-clickhouse"
rel="external nofollow" target="_blank">Geospatial processing with Clickhouse</a> by Carto</li>
<li><a href="https://translate.yandex.com/translate?url=http%3A%2F%2Fwww.clickhouse.com.cn%2Ftopic%2F5a72e8ab9d28dfde2ddc5ea2F&amp;lang=zh-en"
rel="external nofollow" target="_blank">ClickHouse and Vertica comparison</a> by zhtsh <span class="grey">(machine translation from Chinese)</span></li>
<li><a href="https://translate.yandex.com/translate?url=http%3A%2F%2Fverynull.com%2F2016%2F08%2F22%2Finfinidb%E4%B8%8Eclickhouse%E5%AF%B9%E6%AF%94%2F&amp;lang=zh-en"
rel="external nofollow" target="_blank">ClickHouse and InfiniDB comparison</a> by RamboLau <span class="grey">(machine translation from Chinese)</span></li>
</ul>
<h2 id="linearly-scalable">Linearly Scalable</h2>
<p>ClickHouse allows companies to add servers to their clusters when necessary without investing time or money into
any additional DBMS modification. The system has been successfully serving
<a href="https://metrica.yandex.com/" rel="external nofollow">Yandex.Metrica</a>,
while the count of servers in it's main production cluster have grown from 60 to 394 in two years,
which are by the way located in six geographically distributed datacenters.</p>
<p>ClickHouse scales well both vertically and horizontally. ClickHouse is easily adaptable to perform either on
cluster with hundreds of nodes, or on a single server or even on a tiny virtual machine. Currently there are
installations with more than two trillion rows per single node,
as well as installations with 100Tb of storage per single node.</p>
<h2 id="hardware-efficient">Hardware Efficient</h2>
<p>ClickHouse processes typical analytical queries two to three orders of magnitude faster than traditional
row-oriented systems with the same available I/O throughput. The system's columnar storage format allows fitting
more hot data in RAM, which leads to a shorter response times.</p>
<p>ClickHouse allows to minimize the number of seeks for range queries, which increases efficiency of using rotational
disk drives, as it&nbsp;maintains locality of reference for continually stored data.</p>
<p>ClickHouse is CPU efficient because of it's vectorized query execution involving relevant processor instructions
and runtime code generation.</p>
<p>By minimizing data transfers for most types of queries, ClickHouse enables companies to manage their data and
create reports without using specialized networks that are aimed at high-performance computing.</p>
<h2 id="fault-tolerant">Fault Tolerant</h2>
<p>ClickHouse supports multi-master asynchronous replication and can be deployed across multiple datacenters.
Downtime of a single node or the whole datacenter won't affect the system's availability for both reads and
writes.
Distributed reads are automatically balanced to live replicas to avoid increasing latency. Replicated data
are synchronized automatically or semi-automatically after server downtime.</p>
</div>
</div>
<div id="grey-block" class="colored-block">
<div class="page">
<h2 id="key-features">Key Features</h2>
<div class="block-50">
<ul class="dashed">
<li>True column-oriented storage</li>
<li>Vectorized query execution</li>
<li>Data compression</li>
<li>Parallel and distributed query execution</li>
<li>Real time query processing</li>
<li>Real time data ingestion</li>
<li>On-disk locality of reference</li>
<li>Cross-datacenter replication</li>
<li>High availability</li>
<li>SQL support</li>
</ul>
</div>
<div class="block-50">
<ul class="dashed">
<li>Local and distributed joins</li>
<li>Pluggable external dimension tables</li>
<li>Arrays and nested data types</li>
<li>Approximate query processing</li>
<li>Probabilistic data structures</li>
<li>Full support of IPv6</li>
<li>Features for web analytics</li>
<li>State-of-the-art algorithms</li>
<li>Detailed documentation</li>
<li>Clean documented code</li>
</ul>
</div>
<div class="clear"></div>
</div>
</div>
<div class="page">
<h2 id="feature-rich">Feature Rich</h2>
<p>ClickHouse features a user-friendly SQL query dialect with a number of built-in analytics capabilities.
For example, it includes probabilistic data
structures for fast and memory-efficient calculation of cardinalities and quantiles. There are functions for
working dates, times and time zones, as well as some specialized ones like addressing URLs and IPs
(both IPv4 and IPv6) and many more.</p>
<p>Data organizing options available in ClickHouse, such as arrays, array joins, tuples and nested data structures, are
extremely efficient for managing denormalized data.</p>
<p>Using ClickHouse allows joining both distributed data and co-located data, as the system supports local joins and
distributed joins. It&nbsp;also offers an opportunity to use external dictionaries, dimension tables loaded from
an external source, for seamless joins with simple syntax.</p>
<p>ClickHouse supports approximate query processing you can get results as fast as you want, which is
indispensable when dealing with terabytes and petabytes of data.</p>
<p>The system's conditional aggregate functions, calculation of totals and extremes, allow getting results with a
single query without having to run a number of them.</p>
<h2 id="success-stories">Success Stories</h2>
<ul class="dashed">
<li><a href="docs/en/introduction/ya_metrika_task/">Yandex.Metrica</a></li>
<li><a href="https://blog.cloudflare.com/http-analytics-for-6m-requests-per-second-using-clickhouse/"
rel="external nofollow" target="_blank">HTTP Analytics</a> and <a href="https://blog.cloudflare.com/how-cloudflare-analyzes-1m-dns-queries-per-second/"
rel="external nofollow" target="_blank">DNS Analytics</a> at CloudFlare</li>
<li><a href="https://www.slideshare.net/glebus/using-clickhouse-for-experimentation-104247173"
rel="external nofollow" target="_blank">ClickHouse for Experimentation</a> at Spotify</li>
<li><a href="https://blog.qrator.net/en/clickhouse-ddos-mitigation_37/"
rel="external nofollow" target="_blank">ClickHouse DB in DDoS mitigation</a> at Qrator</li>
<li><a href="https://translate.yandex.com/translate?url=https%3A%2F%2Fhabrahabr.ru%2Fpost%2F322620%2F&amp;lang=ru-en"
rel="external nofollow" target="_blank">Migrating to Yandex ClickHouse</a> by LifeStreet <span class="grey">(machine translation from Russian)</span></li>
<li><a href="https://translate.yandex.com/translate?url=http%3A%2F%2Fsouslecapot.net%2F2018%2F11%2F21%2Fpatrick-chatain-vp-engineering-chez-contentsquare-penser-davantage-amelioration-continue-que-revolution-constante%2F&lang=fr-en"
rel="external nofollow" target="_blank">ClickHouse at ContentSquare</a> <span class="grey">(machine translation from French)</span></li>
<li><a href="https://translate.yandex.com/translate?url=https%3A%2F%2Fhabrahabr.ru%2Fcompany%2Fsmi2%2Fblog%2F314558%2F&amp;lang=ru-en"
rel="external nofollow" target="_blank">How to start ClickHouse up and win the jackpot</a> by SMI2 <span class="grey">(machine translation from Russian)</span></li>
<li><a href="https://translate.yandex.com/translate?url=http%3A%2F%2Fwww.jianshu.com%2Fp%2F4c86a2478cca&amp;lang=zh-en"
rel="external nofollow" target="_blank">First place at Analysys OLAP algorithm contest</a> <span class="grey">(machine translation from Chinese)</span></li>
<li><a href="https://translate.yandex.com/translate?url=https%3A%2F%2Ftech.geniee.co.jp%2Fentry%2F2017%2F07%2F20%2F160100"
rel="external nofollow" target="_blank">Speeding up Report API</a> at Geniee <span class="grey">(machine translation from Japanese)</span></li>
<li><a href="https://www.yandex.com/company/press_center/press_releases/2012/2012-04-10/"
rel="external nofollow" target="_blank">LHCb experiment</a> by CERN</li>
</ul>
<h2>When to use ClickHouse</h2>
<p>For analytics over stream of clean, well structured and immutable events or logs.
It is recommended to put each such stream into a single wide fact table with pre-joined dimensions.
</p>
<p>Some examples of viable applications:</p>
<ul class="dashed">
<li>Web and App analytics</li>
<li>Advertising networks and RTB</li>
<li>Telecommunications</li>
<li>E-commerce and finance</li>
<li>Information security</li>
<li>Monitoring and telemetry</li>
<li>Time series</li>
<li>Business intelligence</li>
<li>Online games</li>
<li>Internet of Things</li>
</ul>
<h2>When <span class="red">NOT</span> to use ClickHouse</h2>
<ul class="dashed">
<li>Transactional workloads (OLTP)</li>
<li>Key-value access with high request rate</li>
<li>Blob or document storage</li>
<li>Over-normalized data</li>
</ul>
<h2 id="highly-reliable">Highly Reliable</h2>
<p>ClickHouse has been managing petabytes of data serving a number of highload mass audience services of
<a href="https://www.yandex.com/company/"
rel="external nofollow">Yandex</a>, Russia's
leading search provider and one of largest European IT companies.
Since 2012, ClickHouse has been providing robust database management for the company's <a
href="https://metrica.yandex.com/" rel="external nofollow">web analytics service</a>, comparison
e-commerce platform, public email service, online advertising platform, business intelligence tools
and infrastructure monitoring.</p>
<p>ClickHouse can be configured as purely distributed system located on independent nodes,
without any single points of failure.</p>
<p>Software and hardware failures or misconfigurations do not result in loss of data. Instead of deleting "broken"
data, ClickHouse saves it&nbsp;or asks you what to do before a startup. All data is checksummed before every
read or write to disk or network. It&nbsp;is virtually impossible to delete data by accident as there are safeguards
even for human errors.</p>
<p>ClickHouse offers flexible limits on query complexity and resource usage, which can be fine-tuned with settings.
It&nbsp;is possible to simultaneously serve both a number of high priority low-latency requests and some
long-running queries with background priority.</p>
<h2 id="simple-and-handy">Simple and Handy</h2>
<p>ClickHouse streamlines all your data processing. It's easy to use: ingest all your structured data into the
system, and it&nbsp;is instantly available for reports. New columns for new properties or dimensions can be
easily added to the system at any time without slowing it&nbsp;down.</p>
<p>ClickHouse is simple and works out-of-the-box. As well as performing on hundreds of node clusters, this system
can be easily installed on a single server or even a virtual machine. No development experience or code-writing
skills are required to install ClickHouse.</p>
<h2 id="quick-start">Quick Start</h2>
<p>System requirements: Linux, x86_64 with SSE 4.2.</p>
<p>Install packages for <span class="distributive_selected" id="repo_deb">Ubuntu/Debian</span>, <span class="distributive_not_selected" id="repo_rpm">CentOS/RedHat</span> or <span class="distributive_not_selected" id="repo_tgz">other Linux</span>:</p>
<code id="packages-install">
<pre id="instruction_deb">
sudo apt-get install dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
sudo service clickhouse-server start
clickhouse-client
</pre>
<pre id="instruction_rpm" style="display: none;">
sudo yum install yum-utils
sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64
sudo yum install clickhouse-server clickhouse-client
sudo /etc/init.d/clickhouse-server start
clickhouse-client
</pre>
<pre id="instruction_tgz" style="display: none;">
export LATEST_VERSION=`curl https://api.github.com/repos/ClickHouse/ClickHouse/tags | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n 1`
curl -O https://repo.yandex.ru/clickhouse/tgz/clickhouse-common-static-$LATEST_VERSION.tgz
curl -O https://repo.yandex.ru/clickhouse/tgz/clickhouse-common-static-dbg-$LATEST_VERSION.tgz
curl -O https://repo.yandex.ru/clickhouse/tgz/clickhouse-server-$LATEST_VERSION.tgz
curl -O https://repo.yandex.ru/clickhouse/tgz/clickhouse-client-$LATEST_VERSION.tgz
tar -xzvf clickhouse-common-static-$LATEST_VERSION.tgz
sudo clickhouse-common-static-$LATEST_VERSION/install/doinst.sh
tar -xzvf clickhouse-common-static-dbg-$LATEST_VERSION.tgz
sudo clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh
tar -xzvf clickhouse-server-$LATEST_VERSION.tgz
sudo clickhouse-server-$LATEST_VERSION/install/doinst.sh
sudo /etc/init.d/clickhouse-server start
tar -xzvf clickhouse-client-$LATEST_VERSION.tgz
sudo clickhouse-client-$LATEST_VERSION/install/doinst.sh
</pre>
</code>
<p>For other operating systems the easiest way to get started is using
<a href="https://hub.docker.com/r/yandex/clickhouse-server/" rel="external nofollow"
target="_blank">
official Docker images of ClickHouse</a>, this is not the only <a href="https://clickhouse.tech/docs/en/getting_started/">option</a> though.
Alternatively, you can easily get a running ClickHouse instance or cluster at
<a href="https://cloud.yandex.com/services/managed-clickhouse?utm_source=referrals&utm_medium=clickhouseofficialsite&utm_campaign=link1" rel="external nofollow" target="_blank">
Yandex Managed Service for ClickHouse</a>.
</p>
<p>After you got connected to your ClickHouse server, you can proceed to <strong><a href="/docs/en/getting_started/tutorial/">tutorial</a></strong> or <strong><a href="docs/en/">full
documentation</a></strong>.</p>
<h2 id="contacts">Contacts</h2>
<ul class="dashed">
<li>Subscribe to the <a href="https://clickhouse.yandex/blog/en" target="_blank">official ClickHouse blog</a>
and its <a href="https://clickhouse.yandex/blog/ru" target="_blank">counterpart in Russian</a>.</li>
<li>Ask any questions on <a href="https://stackoverflow.com/questions/tagged/clickhouse"
rel="external nofollow" target="_blank">Stack Overflow</a> or
<a href="https://groups.google.com/group/clickhouse"
rel="external nofollow" target="_blank">Google Group</a>.
</li>
<li>Join Telegram chat to discuss with real users in <a
href="https://telegram.me/clickhouse_en"
rel="external nofollow" target="_blank">English</a> or in
<a href="https://telegram.me/clickhouse_ru"
rel="external nofollow" target="_blank">Russian</a>.</li>
<li>Watch video content on <a href="https://www.youtube.com/c/ClickHouseDB"
rel="external nofollow" target="_blank">YouTube channel</a>.</li>
<li>Follow official <a
href="https://twitter.com/ClickHouseDB"
rel="external nofollow" target="_blank">Twitter account</a>.</li>
<li>Open <a href="https://github.com/ClickHouse/ClickHouse/issues/new/choose"
rel="external nofollow" target="_blank">GitHub issue</a> if you have a bug report or feature request.</li>
<li>Or email Yandex ClickHouse team directly at
<a id="feedback_email" href="">turn on JavaScript to see email address</a>.
You can also <a href="https://forms.yandex.com/surveys/meet-yandex-clickhouse-team/" target="_blank" rel="external nofollow">fill this form</a> to meet us in person.</li>
</ul>
<p>Friendly reminder: check out the documentation in <a href="docs/en/">English</a>, <a href="docs/ru/">Russian</a>, <a href="docs/zh/">Chinese</a> or <a href="docs/fa/">Farsi</a> first &mdash; maybe your question is already covered.
</p>
<h2>Like ClickHouse?</h2>
<p>Help to spread the word about it via <a rel="external nofollow" target="_blank" href="https://www.facebook.com/sharer.php?u=https://clickhouse.tech">Facebook</a>,
<a rel="external nofollow" target="_blank" href="https://twitter.com/intent/tweet?url=https://clickhouse.tech">Twitter</a> and
<a rel="external nofollow" target="_blank" href="https://www.linkedin.com/shareArticle?url=https://clickhouse.tech">LinkedIn</a>!</p>
<p>Also hosting ClickHouse Meetups is very appreciated, <a href="https://forms.yandex.com/surveys/meet-yandex-clickhouse-team/" target="_blank" rel="external nofollow">fill this form</a>
if you are interested and we'll get in touch.
Short reports about previous meetups are <a href="https://clickhouse.yandex/blog/en?tag=meetup" target="_blank">published in official ClickHouse blog</a>.</p>
<p class="warranty"><a href="https://github.com/ClickHouse/ClickHouse/blob/master/LICENSE"
rel="external nofollow" target="_blank">
ClickHouse source code is published under Apache 2.0 License.</a> Software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.</p>
<p id="footer">&copy; 20162020 <a href="https://yandex.com/company/" rel="external nofollow">Yandex LLC</a></p>
</div>
<a id="github_link"
href="https://cloud.yandex.com/services/managed-clickhouse?utm_source=referrals&utm_medium=clickhouseofficialsite&utm_campaign=link2"
rel="external nofollow"
target="_blank"
><div id="github">Try on Yandex.Cloud</div></a>
<script type="text/javascript" src="https://yastatic.net/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$.get('https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/README.md', function(e) {
var skip = true;
var lines = e.split('\n');
var result = [];
$.each(lines, function(idx) {
var line = lines[idx];
if (skip) {
if (line.includes('Upcoming Events')) {
skip = false;
}
} else {
if (!line) { return; };
line = line.split('](');
var tail = line[1].split(') ');
result.push(
'<a class="announcement-link" rel="external nofollow" target="_blank" href="' +
tail[0] + '">' + line[0].replace('* [', '').replace('ClickHouse Meetup in ', '') +
'</a> ' + tail[1].slice(0, -1)
);
}
});
if (result.length) {
if (result.length == 1) {
result = 'Upcoming Meetup: ' + result[0];
} else {
result = 'Upcoming Meetups: ' + result.join(', ');
var offset = result.lastIndexOf(', ');
result = result.slice(0, offset) + result.slice(offset).replace(', ', ' and ');
}
$('#announcement>.page').html(result);
}
});
var name = $('#logo-text').attr('alt').trim().toLowerCase();
var feedback_address = name + '-feedback' + '@yandex-team.com';
var feedback_email = $('#feedback_email');
feedback_email.attr('href', 'mailto:' + feedback_address);
feedback_email.html(feedback_address);
$("a[href^='#']").on('click', function (e) {
e.preventDefault();
var selector = $(e.target).attr('href');
var offset = 0;
if (selector) {
offset = $(selector).offset().top - $('#logo').height() * 1.5;
}
$('html, body').animate({
scrollTop: offset
}, 500);
window.history.replaceState('', document.title, window.location.href.replace(location.hash, '') + this.hash);
});
var hostParts = window.location.host.split('.');
if (hostParts.length > 2 && hostParts[0] != 'test' && hostParts[1] != 'github') {
window.location.host = hostParts[0] + '.' + hostParts[1];
}
var available_distributives = ['deb', 'rpm', 'tgz'];
var selected_distributive = 'deb';
function refresh_distributives() {
available_distributives.forEach(function (name) {
if (name == selected_distributive) {
$('#repo_' + name).attr("class", "distributive_selected");
$('#instruction_' + name).show();
} else {
$('#repo_' + name).attr("class", "distributive_not_selected");
$('#instruction_' + name).hide();
}
});
};
refresh_distributives();
available_distributives.forEach(function (name) {
$('#repo_' + name).on('click', function () {
selected_distributive = name;
refresh_distributives();
});
});
});
</script>
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter18343495 = new Ya.Metrika2({
id:18343495,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = "https://mc.yandex.ru/metrika/tag.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks2");
</script>
<noscript>
<div><img src="https://mc.yandex.ru/watch/18343495" style="position:absolute; left:-9999px;" alt=""/></div>
</noscript>
<!-- /Yandex.Metrika counter -->
</body>
</html>
{% extends "templates/base.html" %}
{% block content %}
{% include "templates/index/nav.html" %}
{% include "templates/index/hero.html" %}
{% include "templates/index/events.html" %}
{% include "templates/index/performance.html" %}
{% include "templates/index/why.html" %}
{% include "templates/index/success.html" %}
{% include "templates/index/efficient.html" %}
{% include "templates/index/rich.html" %}
{% include "templates/index/features.html" %}
{% include "templates/index/reliable.html" %}
{% include "templates/index/use.html" %}
{% include "templates/index/quickstart.html" %}
{% include "templates/index/contacts.html" %}
{% endblock %}

10220
website/jquery.js vendored

File diff suppressed because it is too large Load Diff

59
website/js/base.js Normal file
View File

@ -0,0 +1,59 @@
$(document).ready(function () {
var name = $('#logo-text').attr('alt').trim().toLowerCase();
var feedback_address = name + '-feedback' + '@yandex-team.com';
var feedback_email = $('#feedback_email');
feedback_email.attr('href', 'mailto:' + feedback_address);
feedback_email.html(feedback_address);
$(document).click(function (event) {
var target = $(event.target);
var target_id = target.attr('id');
var selector = target.attr('href');
var is_tab = target.attr('role') === 'tab';
$('#navbar-toggle').collapse('hide');
if (target_id && target_id.startsWith('logo-')) {
selector = '#';
}
if (selector && selector.startsWith('#') && !is_tab) {
event.preventDefault();
var dst = window.location.href.replace(window.location.hash, '');
var offset = 0;
if (selector !== '#') {
offset = $(selector).offset().top - $('#navbar-toggle').height() * 1.5;
dst += selector;
}
$('html, body').animate({
scrollTop: offset
}, 500);
window.history.replaceState('', document.title, dst);
}
});
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter18343495 = new Ya.Metrika2({
id:18343495,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = "https://mc.yandex.ru/metrika/tag.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks2");
});

View File

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
{% include "templates/common_meta.html" %}
{% include "templates/common_css.html" %}
</head>
<body>
{% block content %}
{% endblock %}
{% include "templates/footer.html" %}
{% include "templates/common_js.html" %}
</body>
</html>

View File

@ -0,0 +1,4 @@
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<link href="css/base.css?{{ rev_short }}" media="all" rel="stylesheet" />
{% block extracss %}
{% endblock %}

View File

@ -0,0 +1,9 @@
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
{% block extrajs %}
{% endblock %}
<script type="text/javascript" src="js/base.js?{{ rev_short }}"></script>
<noscript>
<div><img src="https://mc.yandex.ru/watch/18343495" style="position:absolute; left:-9999px;" alt=""/></div>
</noscript>

View File

@ -0,0 +1,21 @@
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>ClickHouse — open source distributed column-oriented DBMS</title>
<link rel="shortcut icon" href="/favicon.ico"/>
<meta property="og:title" content="ClickHouse DBMS"/>
<meta property="og:description"
content="ClickHouse is an open source column-oriented database management system that allows generating analytical data reports in real time using SQL queries."/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="https://clickhouse.tech"/>
<meta property="og:image" content="https://clickhouse.tech/images/logo.png"/>
<meta property="twitter:title" content="ClickHouse DBMS"/>
<meta name="description"
content="ClickHouse is an open source distributed column-oriented database management system that allows generating analytical data reports in real time using SQL queries. Сreated by Yandex ClickHouse manages extremely large volumes of data in a stable and sustainable manner."/>
<meta name="keywords"
content="ClickHouse, DBMS, OLAP, relational, analytics, analytical, big data, open-source, SQL, web-analytics" />

View File

@ -0,0 +1,15 @@
<div id="footer" class="bg-dark text-muted mt-5">
<div class="container py-3">
<div class="row">
<div class="col-lg-8 text-left">
<a href="https://github.com/ClickHouse/ClickHouse/blob/master/LICENSE"
rel="external nofollow" target="_blank" class="stealth-link">
ClickHouse source code is published under Apache 2.0 License.</a> Software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.
</div>
<div class="col-lg-4 text-right">
&copy; 20162020 <a href="https://yandex.com/company/" rel="external nofollow" target="_blank" class="text-muted">Yandex LLC</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,44 @@
<div>
<div class="container">
<h2 id="contacts" class="mt-5">Contacts</h2>
<ul class="lead">
<li>Subscribe to the <a href="https://clickhouse.yandex/blog/en" target="_blank">official ClickHouse blog</a>
and its <a href="https://clickhouse.yandex/blog/ru" target="_blank">counterpart in Russian</a>.</li>
<li>Ask any questions on <a href="https://stackoverflow.com/questions/tagged/clickhouse"
rel="external nofollow" target="_blank">Stack Overflow</a>,
<a href="https://join.slack.com/t/clickhousedb/shared_invite/enQtOTUzMjM4ODQwNTc5LWJmMjE3Yjc2YmI1ZDBlZmI4ZTc3OWY3ZTIwYTljYzY4MzBlODM3YzBjZTc1YmYyODRlZTJkYTgzYzBiNTA2Yjk" rel="external nofollow" target="_blank">Slack</a> or
<a href="https://groups.google.com/group/clickhouse"
rel="external nofollow" target="_blank">Google Group</a>.
</li>
<li>Join Telegram chat to discuss with real users in <a
href="https://telegram.me/clickhouse_en"
rel="external nofollow" target="_blank">English</a> or in
<a href="https://telegram.me/clickhouse_ru"
rel="external nofollow" target="_blank">Russian</a>.</li>
<li>Watch video content on <a href="https://www.youtube.com/c/ClickHouseDB"
rel="external nofollow" target="_blank">YouTube channel</a>.</li>
<li>Follow official <a
href="https://twitter.com/ClickHouseDB"
rel="external nofollow" target="_blank">Twitter account</a>.</li>
<li>Open <a href="https://github.com/ClickHouse/ClickHouse/issues/new/choose"
rel="external nofollow" target="_blank">GitHub issue</a> if you have a bug report or feature request.</li>
<li>Or email Yandex ClickHouse team directly at
<a id="feedback_email" href="">turn on JavaScript to see email address</a>.
You can also <a href="https://forms.yandex.com/surveys/meet-yandex-clickhouse-team/" target="_blank" rel="external nofollow">fill this form</a> to meet us in person.</li>
</ul>
<p class="lead">Friendly reminder: check out the documentation in <a href="docs/en/">English</a>, <a href="docs/ru/">Russian</a>, <a href="docs/zh/">Chinese</a>, <a href="docs/ja/">Japanese</a> or <a href="docs/fa/">Farsi</a> first &mdash; maybe your question is already covered.
</p>
<h2 class="mt-5">Like ClickHouse?</h2>
<p class="lead">Help to spread the word about it via <a rel="external nofollow" target="_blank" href="https://www.facebook.com/sharer.php?u=https://clickhouse.tech">Facebook</a>,
<a rel="external nofollow" target="_blank" href="https://twitter.com/intent/tweet?url=https://clickhouse.tech">Twitter</a> and
<a rel="external nofollow" target="_blank" href="https://www.linkedin.com/shareArticle?url=https://clickhouse.tech">LinkedIn</a>!</p>
<p class="lead">Also hosting ClickHouse Meetups is very appreciated, <a href="https://forms.yandex.com/surveys/meet-yandex-clickhouse-team/" target="_blank" rel="external nofollow">fill this form</a>
if you are interested and we'll get in touch.
Short reports about previous meetups are <a href="https://clickhouse.yandex/blog/en?tag=meetup" target="_blank">published in official ClickHouse blog</a>.</p>
</div>
</div>

View File

@ -0,0 +1,41 @@
<div>
<div class="container my-5">
<div class="row mb-5">
<div class="col-lg">
<h2 id="hardware-efficient" class="my-4">Hardware efficient</h2>
<p class="lead">ClickHouse processes typical analytical queries two to three orders of magnitude faster than traditional
row-oriented systems with the same available I/O throughput and CPU capacity. The system's columnar storage format allows fitting
more hot data in RAM, which leads to a shorter typical response times.</p>
</div>
<div class="col-lg-4">
<img src="images/index/hardware-efficient.svg" alt="ClickHouse is hardware efficient" />
</div>
</div>
<div class="row">
<div class="col-lg">
<h3>Strives for CPU efficiency</h3>
<p>Vectorized query execution involves relevant SIMD processor instructions
and runtime code generation. Processing data in columns increases CPU line cache hit rate.</p>
</div>
<div class="col-lg">
<h3>Optimizes disk drive access</h3>
<p>ClickHouse minimizes the number of seeks for range queries, which increases efficiency of using rotational
disk drives, as it maintains locality of reference for continually stored data.</p>
</div>
<div class="col-lg">
<h3>Minimizes data transfers</h3>
<p>ClickHouse enables companies to manage their data and
create reports without using specialized networks that are aimed at high-performance computing.</p>
</div>
</div>
</div>
</div>
<div>
<div class="container text-center">
<img src="images/curl.svg" alt="ClickHouse не тормозит" />
</div>
</div>

View File

@ -0,0 +1,30 @@
{% if events %}
<div id="events" class="bg-light my-0">
<div class="container py-5">
{% if events|length == 1 %}
{% set event = events[0] %}
<h2>Upcoming Event</h2>
<p class="lead">
<a class="text-reset" rel="external nofollow" target="_blank"
href="{{ event.signup_link }}">
<span class="text-orange">{{ event.event_date }}</span>&nbsp;
{{ event.event_name }}
</a>
</p>
{% else %}
<h2>Upcoming Events</h2>
<ul class="lead list-unstyled">
{% for event in events %}
<li>
<a class="text-reset" rel="external nofollow" target="_blank"
href="{{ event.signup_link }}">
<span class="text-orange">{{ event.event_date }}</span>&nbsp;
{{ event.event_name }}
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</div>
</div>
{% endif %}

View File

@ -0,0 +1,52 @@
<div class="bg-dark text-light">
<div class="container py-5 my-5">
<div class="row text-center">
<div class="col-lg">
<h2 id="key-features">ClickHouse. Just makes you think faster!</h2>
</div>
</div>
<div class="row my-3">
<div class="col-lg">
<ul class="lead list-unstyled mb-0 mb-lg-1">
<li><span class="text-yellow"></span> True column-oriented storage</li>
<li><span class="text-yellow"></span> Vectorized query execution</li>
<li><span class="text-yellow"></span> Parallel and distributed query execution</li>
<li><span class="text-yellow"></span> Real time query processing</li>
<li><span class="text-yellow"></span> Real time data ingestion</li>
<li><span class="text-yellow"></span> On-disk locality of reference</li>
<li><span class="text-yellow"></span> Data compression</li>
</ul>
</div>
<div class="col-lg">
<ul class="lead list-unstyled mb-0 mb-lg-1">
<li><span class="text-yellow"></span> SQL support</li>
<li><span class="text-yellow"></span> Data skipping indices</li>
<li><span class="text-yellow"></span> High availability</li>
<li><span class="text-yellow"></span> Cross-datacenter replication</li>
<li><span class="text-yellow"></span> Local and distributed joins</li>
<li><span class="text-yellow"></span> Pluggable external dimension tables</li>
<li><span class="text-yellow"></span> Arrays and nested data types</li>
</ul>
</div>
<div class="col-lg">
<ul class="lead list-unstyled mb-0 mb-lg-1">
<li><span class="text-yellow"></span> Approximate query processing</li>
<li><span class="text-yellow"></span> Probabilistic data structures</li>
<li><span class="text-yellow"></span> Features for web and mobile analytics</li>
<li><span class="text-yellow"></span> Full support of IPv6</li>
<li><span class="text-yellow"></span> State-of-the-art algorithms</li>
<li><span class="text-yellow"></span> Detailed documentation</li>
<li><span class="text-yellow"></span> Clean documented code</li>
</ul>
</div>
</div>
<div class="row">
<div class="col-lg text-lg-right my-3 my-lg-0">
<a href="#quick-start" class="btn btn-lg btn-yellow w-50" role="button">Quick start</a>
</div>
<div class="col-lg">
<a href="docs/en/" class="btn btn-lg btn-outline-yellow w-50" role="button">Documentation</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,47 @@
<div class="container">
<div class="row">
<div class="col-lg-7 py-5">
<h1 class="display-5">ClickHouse is a fast <a href="https://github.com/ClickHouse/ClickHouse" rel="external nofollow" target="_blank">open-source</a> database management system</h1>
<p class="lead">It is column-oriented and allows to generate analytical reports using SQL queries in real-time.</p>
<div class="row lead my-3">
<div class="col-md mb-0 mb-md-1">
<ul class="list-unstyled mb-0 mb-md-1">
<li><a class="stealth-link" href="#blazing-fast">✓ Blazing fast</a></li>
<li><a class="stealth-link" href="#linearly-scalable">✓ Linearly scalable</a></li>
<li><a class="stealth-link" href="#feature-rich">✓ Feature rich</a></li>
</ul>
</div>
<div class="col-md">
<ul class="list-unstyled">
<li><a class="stealth-link" href="#hardware-efficient">✓ Hardware efficient</a></li>
<li><a class="stealth-link" href="#fault-tolerant">✓ Fault tolerant</a></li>
<li><a class="stealth-link" href="#highly-reliable">✓ Highly reliable</a></li>
</ul>
</div>
</div>
<div class="row lead">
<div class="col-lg pb-2">
<a href="#quick-start" class="btn btn-lg btn-yellow w-100 mb-3" role="button">Quick start</a>
{#
<a href="https://play.clickhouse.tech/?file=welcome" class="btn btn-lg btn-yellow w-100" role="button" target="_blank" rel="external nofollow">
<div class="py-2">
<h2>Try online demo</h2>
<div class="lead">Powered by Yandex.Cloud</div>
</div>
</a>
#}
</div>
<div class="col-lg pb-2">
{#
<a href="#quick-start" class="btn btn-lg btn-outline-orange w-100 mb-3" role="button">Quick start</a>
#}
<a href="docs/en/" class="btn btn-lg btn-outline-orange w-100" role="button">Documentation</a>
</div>
</div>
</div>
<div class="col-lg-5 py-5 px-0">
<img src="images/index/intro.svg" alt="ClickHouse is capable of generating analytical data reports in real time" class="my-3" />
</div>
</div>
</div>

View File

@ -0,0 +1,29 @@
<nav class="navbar navbar-expand-lg navbar-light bg-white sticky-top">
<div class="container">
<a class="navbar-brand" href="#">
<img id="logo-icon" src="images/logo.svg" />
<img id="logo-text" src="images/clickhouse-black.svg" alt="ClickHouse" />
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-toggle" aria-controls="navbar-toggle" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-toggle">
<ul class="navbar-nav ml-auto mt-2 mt-lg-0 justify-content-end">
<li class="nav-item">
<a class="nav-link" href="#quick-start">Quick start</a>
</li>
<li class="nav-item">
<a class="nav-link" href="docs/en/">Documentation</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://clickhouse.yandex/blog/en/"
rel="external nofollow">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#contacts">Contacts</a>
</li>
</ul>
</div>
</div>
</nav>

View File

@ -0,0 +1,45 @@
<div id="blazing-fast" class="bg-dark my-0">
<div class="container text-light py-5">
<div class="row text-center">
<h2 class="display-5 mx-auto mb-3">ClickHouse works 100-1000x faster than traditional approaches</h2>
<p class="lead">ClickHouse's performance <a href="benchmark.html">exceeds</a> comparable column-oriented DBMS currently available
on the market. It processes hundreds of millions to more than a billion rows and tens of gigabytes of data per single server per second.</p>
<a href="benchmark.html" class="btn btn-lg btn-yellow mt-3 mx-auto" role="button">Detailed comparison</a>
</div>
<div class="row mt-5">
<h2 class="mb-3">Independent benchmarks</h2>
</div>
<div class="row">
<div class="col-lg p-0">
<ul class="list-unstyled">
<li class="mb-3"><a href="https://www.percona.com/blog/2017/02/13/clickhouse-new-opensource-columnar-database/"
rel="external nofollow" target="_blank" class="stealth-link">ClickHouse: New Open Source Columnar Database <div class="text-yellow">Percona</div></a></li>
<li class="mb-3"><a href="https://www.percona.com/blog/2017/03/17/column-store-database-benchmarks-mariadb-columnstore-vs-clickhouse-vs-apache-spark/"
title="MariaDB ColumnStore vs. Clickhouse vs. Apache Spark"
rel="external nofollow" target="_blank" class="stealth-link">Column Store Database Benchmarks <div class="text-yellow">Percona</div></a></li>
<li class="mb-3"><a href="http://tech.marksblogg.com/billion-nyc-taxi-clickhouse.html"
rel="external nofollow" target="_blank" class="stealth-link">1.1 Billion Taxi Rides on ClickHouse & an Intel Core i5 <div class="text-yellow">Mark Litwintschik</div></a></li>
<li class="mb-3"><a href="https://tech.marksblogg.com/billion-nyc-taxi-rides-clickhouse-cluster.html"
rel="external nofollow" target="_blank" class="stealth-link">1.1 Billion Taxi Rides: 108-core ClickHouse Cluster <div class="text-yellow">Mark Litwintschik</div></a></li>
</ul>
</div>
<div class="col-lg p-0">
<ul class="list-unstyled">
<li class="mb-3">
<a href="https://www.altinity.com/blog/2017/6/20/clickhouse-vs-redshift"
rel="external nofollow" target="_blank" class="stealth-link">ClickHouse vs Amazon RedShift Benchmark <div class="text-yellow">Altinity</div></a></li>
<li class="mb-3"><a href="https://carto.com/blog/inside/geospatial-processing-with-clickhouse"
rel="external nofollow" target="_blank" class="stealth-link">Geospatial processing with Clickhouse <div class="text-yellow">Carto</div></a></li>
<li class="mb-3"><a href="https://translate.yandex.com/translate?url=http%3A%2F%2Fwww.clickhouse.com.cn%2Ftopic%2F5a72e8ab9d28dfde2ddc5ea2F&amp;lang=zh-en"
rel="external nofollow" target="_blank" class="stealth-link">ClickHouse and Vertica comparison <div><span class="text-yellow">zhtsh</span> <span class="text-muted">(machine translation from Chinese)</span></div></a></li>
<li class="mb-3"><a href="https://translate.yandex.com/translate?url=http%3A%2F%2Fverynull.com%2F2016%2F08%2F22%2Finfinidb%E4%B8%8Eclickhouse%E5%AF%B9%E6%AF%94%2F&amp;lang=zh-en"
rel="external nofollow" target="_blank" class="stealth-link">ClickHouse and InfiniDB comparison<div><span class="text-yellow">RamboLau</span> <span class="text-muted">(machine translation from Chinese)</span></div></a></li>
</ul>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,51 @@
<div>
<div class="container lead">
<h2 id="quick-start" class="mt-5">Quick start</h2>
<p>System requirements for pre-built packages: Linux, x86_64 with SSE 4.2.</p>
<ul class="nav nav-tabs" id="install-tab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="deb-tab" data-toggle="tab" href="#deb" role="tab" aria-controls="deb" aria-selected="true" title="deb packages">Ubuntu or Debian</a>
</li>
<li class="nav-item">
<a class="nav-link" id="rpm-tab" data-toggle="tab" href="#rpm" role="tab" aria-controls="rpm" aria-selected="false" title="rpm packages">CentOS or RedHat</a>
</li>
<li class="nav-item">
<a class="nav-link" id="tgz-tab" data-toggle="tab" href="#tgz" role="tab" aria-controls="tgz" aria-selected="false" title="tgz packages">Other Linux</a>
</li>
<li class="nav-item">
<a class="nav-link" href="docs/en/commercial/cloud/" role="tab" aria-controls="cloud" aria-selected="false" title="Cloud Service Providers">Cloud</a>
</li>
</ul>
<div class="tab-content" id="install-tab-content">
<div class="tab-pane show active" id="deb" role="tabpanel" aria-labelledby="deb-tab">
{% include "templates/install/deb.html" %}
</div>
<div class="tab-pane" id="rpm" role="tabpanel" aria-labelledby="rpm-tab">
{% include "templates/install/rpm.html" %}
</div>
<div class="tab-pane" id="tgz" role="tabpanel" aria-labelledby="thz-tab">
{% include "templates/install/tgz.html" %}
</div>
</div>
<p>For other operating systems the easiest way to get started is using
<a href="https://hub.docker.com/r/yandex/clickhouse-server/" rel="external nofollow"
target="_blank">
official Docker images of ClickHouse</a>, this is not the only <a href="https://clickhouse.tech/docs/en/getting_started/">option</a> though.
Alternatively, you can easily get a running ClickHouse instance or cluster at
<a href="https://cloud.yandex.com/services/managed-clickhouse?utm_source=referrals&utm_medium=clickhouseofficialsite&utm_campaign=link1" rel="external nofollow" target="_blank">
Yandex Managed Service for ClickHouse</a>.
</p>
<p>After you got connected to your ClickHouse server, you can proceed to:</p>
<p>
<a href="docs/en/getting_started/tutorial/" class="btn btn-lg btn-outline-orange" role="button">
&nbsp;&nbsp;&nbsp;Tutorial&nbsp;&nbsp;&nbsp;
</a>&nbsp;
<a href="docs/en/" class="btn btn-lg btn-outline-orange" role="button">Documentation</a>
</p>
</div>
</div>

View File

@ -0,0 +1,27 @@
<div>
<div class="container">
<h2 id="highly-reliable" class="mt-5">Highly reliable</h2>
<p>ClickHouse has been managing petabytes of data serving a number of highload mass audience services of
<a href="https://www.yandex.com/company/"
rel="external nofollow">Yandex</a>, Russia's
leading search provider and one of largest European IT companies.
Since 2012, ClickHouse has been providing robust database management for the company's <a
href="https://metrica.yandex.com/" rel="external nofollow">web analytics service</a>, comparison
e-commerce platform, public email service, online advertising platform, business intelligence tools
and infrastructure monitoring.</p>
<p>ClickHouse can be configured as purely distributed system located on independent nodes,
without any single points of failure.</p>
<p>Software and hardware failures or misconfigurations do not result in loss of data. Instead of deleting "broken"
data, ClickHouse saves it&nbsp;or asks you what to do before a startup. All data is checksummed before every
read or write to disk or network. It&nbsp;is virtually impossible to delete data by accident as there are safeguards
even for human errors.</p>
<p>ClickHouse offers flexible limits on query complexity and resource usage, which can be fine-tuned with settings.
It&nbsp;is possible to simultaneously serve both a number of high priority low-latency requests and some
long-running queries with background priority.</p>
</div>
</div>

View File

@ -0,0 +1,36 @@
<div>
<div class="container py-5">
<div class="row">
<div class="col-lg">
<h2 id="feature-rich">Feature rich</h2>
</div>
</div>
<div class="row my-5">
<div class="col-lg">
<div class="bg-number">1</div>
<h4>User-friendly SQL dialect</h4>
<p>ClickHouse features a user-friendly SQL query dialect with a number of built-in analytics capabilities. In additional to common functions that could by found in most DBMS, ClickHouse comes with a lot of domain-specific functions and features out of the box.</p>
</div>
<div class="col-lg">
<div class="bg-number">2</div>
<h4>Efficient managing of denormalized data</h4>
<p>Column-oriented nature of ClickHouse allows having hundreds or thousands of columns per table without slowing down SELECT queries. It's possible to pack even more data in by leveraging wide range data organizing options, such as arrays, tuples and nested data structures.</p>
</div>
</div>
<div class="row">
<div class="col-lg">
<div class="bg-number">3</div>
<h4>Join distributed or co-located data</h4>
<p>ClickHouse provides various options for joining tables. Joins could be either cluster local, they can also access data stored in external systems. There's also a external dictionaries support that provide alternative more simple syntax for accessing data from outside source.</p>
</div>
<div class="col-lg">
<div class="bg-number">4</div>
<h4>Approximate query processing</h4>
<p>Users can control trade-off between result accuracy and query execution time, which is handy when dealing with multiple terabytes or petabytes of data. ClickHouse also provides probabilistic data structures for fast and memory-efficient calculation of cardinatilities and quantiles</p>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,72 @@
<div class="bg-light py-5 my-5">
<div class="container text-center">
<h2 id="success-stories">Success stories</h2>
<div class="row">
<div class="col-lg-4 py-3">
<a href="https://blog.cloudflare.com/http-analytics-for-6m-requests-per-second-using-clickhouse/" class="stealth-link" rel="externa nofollow" target="_blank">
<div class="card py-3 dots-lb">
<div class="card-body">
<h4 class="card-title">HTTP and DNS analytics</h4>
<p class="card-text text-muted">by CloudFlare</p>
</div>
</div>
</a>
</div>
<div class="col-lg-4 py-3">
<a href="docs/en/introduction/ya_metrika_task/" class="stealth-link">
<div class="card py-3 dots-cc">
<div class="card-body">
<h4 class="card-title">Yandex Metrica</h4>
<p class="card-text text-muted">The original usecase</p>
</div>
</div>
</a>
</div>
<div class="col-lg-4 py-3">
<a href="https://www.slideshare.net/glebus/using-clickhouse-for-experimentation-104247173" class="stealth-link" rel="external nofollow" target="_blank">
<div class="card py-3 dots-rb">
<div class="card-body">
<h4 class="card-title">Experimentation</h4>
<p class="card-text text-muted">at Spotify</p>
</div>
</div>
</a>
</div>
</div>
<div class="row">
<div class="col-lg-4 py-3">
<a href="https://translate.yandex.com/translate?url=http%3A%2F%2Fwww.jianshu.com%2Fp%2F4c86a2478cca&amp;lang=zh-en" class="stealth-link" rel="external nofollow" target="_blank">
<div class="card py-3 dots-rb">
<div class="card-body">
<h4 class="card-title">OLAP contest victory</h4>
<p class="card-text text-muted">by Analysys</p>
</div>
</div>
</a>
</div>
<div class="col-lg-4 py-3">
<a href="https://translate.yandex.com/translate?url=http%3A%2F%2Fsouslecapot.net%2F2018%2F11%2F21%2Fpatrick-chatain-vp-engineering-chez-contentsquare-penser-davantage-amelioration-continue-que-revolution-constante%2F&lang=fr-en" class="stealth-link" rel="external nofollow" target="_blank">
<div class="card py-3 dots-rhb">
<div class="card-body">
<h4 class="card-title">Digital experience analytics</h4>
<p class="card-text text-muted">by ContentSquare</p>
</div>
</div>
</a>
</div>
<div class="col-lg-4 py-3">
<a href="https://translate.yandex.com/translate?url=https%3A%2F%2Ftech.geniee.co.jp%2Fentry%2F2017%2F07%2F20%2F160100" class="stealth-link" rel="external nofollow" target="_blank">
<div class="card py-3 dots-lb">
<div class="card-body">
<h4 class="card-title">Speeding up Report API</h4>
<p class="card-text text-muted">at Geniee</p>
</div>
</div>
</a>
</div>
</div>
<div class="row">
<a href="docs/en/introduction/adopters/" class="btn btn-lg btn-outline-orange mx-auto mt-3" role="button">Show more</a>
</div>
</div>
</div>

View File

@ -0,0 +1,49 @@
<div class="bg-light py-5 my-5">
<div class="container">
<div class="row mb-5">
<div class="col-lg">
<h2>When to use ClickHouse</h2>
<p>For analytics over stream of clean, well structured and immutable events or logs.
It is recommended to put each such stream into a single wide fact table with pre-joined dimensions.</p>
</div>
<div class="col-lg">
<ul class="lead list-unstyled mb-0 mb-lg-1">
<li>✓ Web and App analytics</li>
<li>✓ Advertising networks and RTB</li>
<li>✓ Telecommunications</li>
<li>✓ E-commerce and finance</li>
<li>✓ Information security</li>
</ul>
</div>
<div class="col-lg">
<ul class="lead list-unstyled">
<li>✓ Monitoring and telemetry</li>
<li>✓ Time series</li>
<li>✓ Business intelligence</li>
<li>✓ Online games</li>
<li>✓ Internet of Things</li>
</ul>
</div>
</div>
<div class="row text-red">
<div class="col-lg">
<h2>When NOT to use ClickHouse</h2>
</div>
<div class="col-lg">
<ul class="lead list-unstyled mb-0 mb-lg-1">
<li>✕ Transactional workloads (OLTP)</li>
<li>✕ Key-value requests with high rate</li>
</ul>
</div>
<div class="col-lg">
<ul class="lead list-unstyled">
<li>✕ Blob or document storage</li>
<li>✕ Over-normalized data</li>
</ul>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,43 @@
<div>
<div class="container my-5 py-3">
<div class="row mb-5">
<div class="col-lg text-center">
<h2>Why ClickHouse might be the right choice for you?</h2>
</div>
</div>
<div class="row mb-5">
<div class="col-lg-1">
<img src="images/index/flash.svg" alt="Blazing fast" />
</div>
<div class="col-lg-5">
<h3>Blazing fast</h3>
<p>ClickHouse uses all available hardware to its full potential to process each query as fast as possible. Peak
processing performance for a single query stands at more than 2&nbsp;terabytes per second <span class="text-muted">(after decompression, only used columns)</span>. In distributed setup reads are automatically balanced among healthy replicas to avoid increasing latency.</p>
</div>
<div class="col-lg-1">
<img src="images/index/safe.svg" alt="Fault tolerant" />
</div>
<div class="col-lg-5">
<h3 id="fault-tolerant">Fault tolerant</h3>
<p>ClickHouse supports multi-master asynchronous replication and can be deployed across multiple datacenters. All nodes are equal, which allows to avoid having single points of failure. Downtime of a single node or the whole datacenter won't affect the system's availability for both reads and writes.</p>
</div>
</div>
<div class="row">
<div class="col-lg-1">
<img src="images/index/scale.svg" alt="Linearly scalable" />
</div>
<div class="col-lg-5">
<h3 id="linearly-scalable">Linearly scalable</h3>
<p>ClickHouse scales well both vertically and horizontally. ClickHouse is easily adaptable to perform either on
cluster with hundreds or thousands of nodes, or on a single server or even on a tiny virtual machine. Currently there are installations with more multiple trillion rows or hundreds of terabytes of data per single node.</p>
</div>
<div class="col-lg-1">
<img src="images/index/heart.svg" alt="Easy to use" />
</div>
<div class="col-lg-5">
<h3>Easy to use</h3>
<p>ClickHouse is simple and works out-of-the-box. It streamlines all your data processing: ingest all your structured data into the system and it becomes instantly available for building reports. SQL dialect allows to express the desired result without involving any custom non-standard API that could be found in some DBMS.</p>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,14 @@
{% highlight "bash" %}
sudo apt-get install dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
sudo service clickhouse-server start
clickhouse-client
{% endhighlight %}

View File

@ -0,0 +1,9 @@
{% highlight "bash" %}
sudo yum install yum-utils
sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64
sudo yum install clickhouse-server clickhouse-client
sudo /etc/init.d/clickhouse-server start
clickhouse-client
{% endhighlight %}

View File

@ -0,0 +1,21 @@
{% highlight "bash" %}
export LATEST_VERSION=$(curl https://api.github.com/repos/ClickHouse/ClickHouse/tags | \
grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n 1)
curl -O https://repo.yandex.ru/clickhouse/tgz/clickhouse-common-static-$LATEST_VERSION.tgz
curl -O https://repo.yandex.ru/clickhouse/tgz/clickhouse-common-static-dbg-$LATEST_VERSION.tgz
curl -O https://repo.yandex.ru/clickhouse/tgz/clickhouse-server-$LATEST_VERSION.tgz
curl -O https://repo.yandex.ru/clickhouse/tgz/clickhouse-client-$LATEST_VERSION.tgz
tar -xzvf clickhouse-common-static-$LATEST_VERSION.tgz
sudo clickhouse-common-static-$LATEST_VERSION/install/doinst.sh
tar -xzvf clickhouse-common-static-dbg-$LATEST_VERSION.tgz
sudo clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh
tar -xzvf clickhouse-server-$LATEST_VERSION.tgz
sudo clickhouse-server-$LATEST_VERSION/install/doinst.sh
sudo /etc/init.d/clickhouse-server start
tar -xzvf clickhouse-client-$LATEST_VERSION.tgz
sudo clickhouse-client-$LATEST_VERSION/install/doinst.sh
{% endhighlight %}