From 2a7587b682256dd68d125abdf583886fd066f1e5 Mon Sep 17 00:00:00 2001 From: bigbes <bigbes@gmail.com> Date: Mon, 16 May 2016 17:04:20 +0300 Subject: [PATCH] New look for california site --- doc/www/content/newsite/index_308.yml | 216 ++++++++++++++++++ doc/www/theme/static/design.css | 52 ++++- doc/www/theme/static/download_button_icon.png | Bin 0 -> 981 bytes .../theme/static/tarantool_infinity_logo.png | Bin 0 -> 11492 bytes doc/www/theme/templates/index_308.html | 160 +++++++++++++ 5 files changed, 426 insertions(+), 2 deletions(-) create mode 100644 doc/www/content/newsite/index_308.yml create mode 100644 doc/www/theme/static/download_button_icon.png create mode 100644 doc/www/theme/static/tarantool_infinity_logo.png create mode 100644 doc/www/theme/templates/index_308.html diff --git a/doc/www/content/newsite/index_308.yml b/doc/www/content/newsite/index_308.yml new file mode 100644 index 0000000000..776dc92cba --- /dev/null +++ b/doc/www/content/newsite/index_308.yml @@ -0,0 +1,216 @@ +--- +title : "Tarantool - A NoSQL database running in a Lua application server" +slug : "index_308" +save_as : "index_308.html" +template: "index_308" +blocks : + header: + - "Tarantool" + - "A single source of truth at the speed above memcache." + - 'Backed by <a href="https://corp.mail.ru/en/company/portal/">Mail.Ru</a>, a <a href="https://corp.mail.ru/en/press/releases/9530/">public company</a>, world’s leading web/mobile portal and the <a href="https://corp.mail.ru/en/press/releases/9530/">5th largest Internet business globally</a>,<br> +Tarantool is leveraged by <a href="https://corp.mail.ru/en/company/portal/">100+ million</a> active users of Mail.Ru' + features: + - format: rst + content: > + .. |br| raw:: html + + <br /> + + One of the most `efficient databases <http://highscalability.com/blog/2015/12/30/how-to-choose-an-in-memory-nosql-solution-performance-measur.html>`_ in the world, great for + a mix of heavy read/write workloads + - format: rst + content: > + Proven to handle 1 million `transactions per second <https://gist.github.com/danikin/a5ddc6fe0cedc6257853>`_ or 1.6 million `queries per second <https://gist.github.com/danikin/a5ddc6fe0cedc6257853>`_ on ONE CPU CORE! + - format: rst + content: > + Able to deliver `sub 1 ms latency <http://sh5.tarantool.org/?first=1.6.8-563-g6a2a686&last=1.6.8-567-ga812cda&tab=all>`_ even on + massively parallel workloads + - format: rst + content: > + Two highly productive storage engines: one is 100% + in-memory with optional persistence, and the other is + disk based with a log structured merge tree, which is highly + efficient even with slow HDD! + - format: rst + content: > + The best for both enterprise and web-scale apps + — with hot backups, hot replica join, no maintenance + windows, extremely fast warm-up, highly available + - "Last but not least, Tarantool is a real DBMS, a single source of truth with a whole bunch of DBMS features:" + - format: rst + content: > + **Indexes**: `secondary indexes <http://tarantool.org/doc/book/box/box_index.html>`_, + `range queries <http://tarantool.org/doc/book/box/box_index.html>`_, + `index iterators <http://tarantool.org/doc/book/box/box_index.html>`_ + - format: rst + content: > + **Transactions**: `ACID transactions <http://tarantool.org/doc/book/box/atomic.html>`_ + - format: rst + content: > + **Replication**: asynchronous `master-slave <http://tarantool.org/doc/book/replication/index.html>`_ and + `master-master <http://tarantool.org/doc/book/replication/index.html>`_ replication + - format: rst + content: > + **Query language**: `server-side scripting and stored procedures <http://tarantool.org/doc/book/app/c_lua_tutorial.html>`_ + - format: rst + content: > + **Security**: `authentication and access control <http://tarantool.org/doc/book/box/authentication.html>`_ + news: + - + - "Tarantool 1.6.8 is released" + - "https://groups.google.com/forum/#!topic/tarantool/j82aeZTtCgw" + - "25.02" + - "2016" + - + - "Tarantool 1.6.7 is released" + - "https://groups.google.com/forum/#!topic/tarantool/kN60cpRRAyE" + - "17.11" + - "2015" + - + - "Tarantool 1.6.6 is released" + - "https://groups.google.com/forum/#!topic/tarantool/4-RwTCVp2uQ" + - "28.08" + - "2015" + support: + - format: rst + content: > + We are happy to provide help on + `tarantool@groups.google.com <https://groups.google.com/forum/#!forum/tarantool>`_ + and `support@tarantool.org <support@tarantool.org>`_ + - format: rst + content: > + If you need immediate help, try to ping maintainers on + `\#tarantool <http://webchat.freenode.net/?channels=tarantool>`_ + channel at `irc.freenode.net <irc://irc.freenode.net>`_ + businessservices: + - format: rst + content: > + We offer 24x7 business support at very moderate pricing, along with consulting, implementation and training + - format: rst + content: > + **Our support is conducted by real software engineers + of the Tarantool core engine!** + - format: rst + content: > + Terms and conditions of all commercial services are + available upon request, please send an inquiry to `support@tarantool.org <support@tarantool.org>`_ + whytarantool: + - format: rst + content: > + Tarantool is one of the `most efficient known <http://highscalability.com/blog/2015/12/30/how-to-choose-an-in-memory-nosql-solution-performance-measur.html>`_ + open-source databases on the market + - format: rst + content: > + Tarantool is backed by `Mail.Ru <https://corp.mail.ru/en/company/portal/>`_, a `public company <https://corp.mail.ru/en/press/releases/9530/>`_, + world’s leading web/mobile portal and the `5th largest Internet business globally <https://corp.mail.ru/en/press/releases/9530/>`_ + - format: rst + content: > + Tarantool is leveraged by `100+ million <https://corp.mail.ru/en/company/portal/>`_ active users of + Mail.Ru services such as `Email <https://corp.mail.ru/en/company/portal/>`_, + `Search <https://corp.mail.ru/en/company/search/>`_, + `E-Commerce <https://corp.mail.ru/en/company/search/>`_, + `Social Networks <https://corp.mail.ru/en/company/social/>`_, + `Instant Messaging <https://corp.mail.ru/en/company/messagers/>`_, + `Email Apps, Maps and Games <https://my.com/>`_ + - format: rst + content: > + Tarantool is the cornerstone of the database infrastructure of a + `multi-billion dollar public company <https://corp.mail.ru/en/press/releases/9530/>`_ + which competes globally with all the industry monsters + - format: rst + content: > + When we’re saying the cornerstone, then we really mean it. + Just a couple of examples: + - '<ul class="b-support-list"> + <li class="b-features-list-item">Mail.Ru Email heavily leverages Tarantool. It’s not caching. It’s not backed by any other database. <b>Tarantool is the single source of truth</b></li> + <li class="b-features-list-item">Mail.Ru Calendar uses Tarantool as its the one and only storage</li> + <li class="b-features-list-item">Mail.Ru Cloud doesn’t use any traditional database except Tarantool. Even financial transactions are securely stored into Tarantool without any backend</li> + </ul>' + - format: rst + content: > + We guarantee that inside Mail.Ru we’re using the same branch of + Tarantool as the one that is freely available + in the form of `binaries <http://tarantool.org/download.html>`_ and `sources <https://github.com/tarantool/tarantool>`_ + - format: rst + content: > + You can use it absolutely for free even for commercial purposes as + Tarantool is licensed under the `BSD license <https://en.wikipedia.org/wiki/BSD_licenses>`_ + - format: rst + content: > + And empower your business with the top-tier technology + by one of the tech giants + - format: rst + content: > + **Purchasing our 24x7 support unlocks the access to the world-class + engineers and architects of one of the most** + `successful <https://corp.mail.ru/en/press/releases/9530/>`_ **Internet businesses worldwide** + usecases: + - format: rst + content: > + `Session management system <https://medium.com/@denisanikin/heavy-workloads-our-use-cases-of-tarantool-914b0b1cbac2>`_ + - format: rst + content: > + `Authentication system <https://medium.com/@denisanikin/heavy-workloads-our-use-cases-of-tarantool-914b0b1cbac2>`_ + - "Anti brute-force, anti spam, anti fraud/hacker systems" + - format: rst + content: > + `Online ad system <https://medium.com/@denisanikin/heavy-workloads-our-use-cases-of-tarantool-914b0b1cbac2>`_ + - format: rst + content: > + `Fast & durable queueing solution <https://medium.com/@shveenkov/asyncio-tarantool-queue-get-in-the-queue-3d10d84edb38>`_ + - format: rst + content: > + `User profile system <https://medium.com/@denisanikin/how-to-save-one-million-dollars-on-databases-with-tarantool-5eb1596ec628>`_ + - "Online transaction processing for banks & telecoms" + - "Online analytics" + - "Shard routing table" + - format: rst + content: > + **At web-scale applications: to handle extremely heavy read/write workloads** + - format: rst + content: > + **At enterprise-scale applications: to deliver extremely small latencies like sub 1 ms** + - format: rst + content: > + **In general: everywhere you need hot data to be durably and + consistently stored, accessed and + changed** + papers: + - date: + - year: "2016" + - day: "26 Apr" + link: '<a href="https://medium.com/@e_sha/getting-started-with-tarantool-1-6-69f73737989b">Getting started with Tarantool 1.6</a>' + - date: + - year: "2016" + - day: "21 Apr" + link: '<a href="https://medium.com/@denisanikin/heavy-workloads-our-use-cases-of-tarantool-914b0b1cbac2">Heavy workloads: our use cases of Tarantool</a>' + - date: + - year: "2016" + - day: "07 Apr" + link: '<a href="https://medium.com/@shveenkov/asynchronous-work-with-tarantool-in-python-92a1d9e5d9f6">Asynchronous work with Tarantool in Python</a>' + - date: + - year: "2016" + - day: "05 Apr" + link: '<a href="https://medium.com/@denisanikin/how-to-save-one-million-dollars-on-databases-with-tarantool-5eb1596ec628">How to save one million dollars on databases with Tarantool</a>' + - date: + - year: "2016" + - day: "23 Mar" + link: '<a href=https://medium.com/@cdump/how-we-implemented-the-video-player-in-mail-ru-cloud-1b73499b7f56">How we implemented the video player in Mail.Ru Cloud</a>' + - date: + - year: "2016" + - day: "06 Mar" + link: '<a href="https://medium.com/@rtsisyk/dbms-as-an-application-server-779402dbf485">DBMS as an application server</a>' + - date: + - year: "2015" + - day: "19 Feb" + link: '<a href="https://medium.com/@shveenkov/asyncio-tarantool-queue-get-in-the-queue-3d10d84edb38#.6h5thzf7v">Asyncio Tarantool Queue, get in the queue</a>' + - date: + - year: "2016" + - day: "17 Feb" + link: '<a href="http://highscalability.com/blog/2016/2/17/building-nginx-and-tarantool-based-services.html">Building Nginx And Tarantool Based Services</a>' + - date: + - year: "2015" + - day: "30 Dec" + link: '<a href="http://highscalability.com/blog/2015/12/30/how-to-choose-an-in-memory-nosql-solution-performance-measur.html">How to choose an in-memory NoSQL solution: performance measuring</a>' + video: '<iframe src="//www.youtube.com/embed/R9UHoZDFLWg" frameborder="0" allowfullscreen></iframe>' +... diff --git a/doc/www/theme/static/design.css b/doc/www/theme/static/design.css index 001144cb05..b9851df341 100644 --- a/doc/www/theme/static/design.css +++ b/doc/www/theme/static/design.css @@ -7,7 +7,7 @@ html { -webkit-font-smoothing:antialiased; } body { - font-family:helvetica-r, Arial, Tahoma, Verdana; + font-family:Arial, Tahoma, Verdana; font-size:1em; font-style:normal; font-weight:normal; @@ -251,7 +251,7 @@ h1, h2, h3, h4, h5 { margin:0 auto; } .b-Tarantool_title { - font:65px helvetica-b, Arial, Tahoma, Verdana; + font:65px Arial, Tahoma, Verdana; padding: 0; /* padding:30px 0 0 0;*/ margin:0; @@ -1518,4 +1518,52 @@ div.b-rock-list-item-ico { margin-right: 2px; } +.buttons-header { + text-align: center; + margin: 25px; +} + +.buttons-header a { + padding-top: 10px; + padding-bottom: 10px; + padding-right: 25px; + border-radius: 4px; + text-decoration: blink; + font-size: 0.9em; + font-family: 'helvetica-b'; +} + +.b-button-red-download { + background: url('/theme/download_button_icon.png') 15px no-repeat; + background-color: #FF272C; + padding-left: 40px; + color: white; + margin-right: 10px; +} + +.b-button-white { + background-color: white; + padding-left: 25px; + color: #262626; + margin-left: 10px; +} + +.b-button-red-download:hover { + color: white; +} + +.b-button-white:hover { + color: #262626; +} + +.header-logo { + height: 80px; + width: 100%; + background: url('/theme/tarantool_infinity_logo.png') center no-repeat; +} + +.papers a:hover{ + text-decoration: underline; +} + /* vim: expandtab */ diff --git a/doc/www/theme/static/download_button_icon.png b/doc/www/theme/static/download_button_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1823920c005c7e00b4ebd567c35ad6fa4169d35d GIT binary patch literal 981 zcmV;`11kK9P)<h;3K|Lk000e1NJLTq000yK000#T1^@s6M%B)!00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf6951U69E94oEQKA04#JxSaefwW^{L9 za%BKPWN%_+AW&#;bZ>KLZ*U+(Lm)CRF*P74O<`kcZgg*RXerPbmzDqk00(qQO+^Rb z0}&Jj6@C!l3IG5AA#_DpbVG7wVRUJ4ZXi@?ZDjy5FfledFf%$aHy|-NIy5voF)}Yn zlqCQF0`f^jK~y+TeN@X%R6!6u)prJ5x$qkliQr=|i7OI~fsM#Q6IXyv)Uc5lS1xAd z*O;J@#DxiBh#2BVe*ohzs58#oF3+jHLjnv|ZojIlPMxmmzUEU`-O~Wb4mTj>iX-Pp zppw0@cbIY0IfDBdtp-dsM<uyuSS^E!iwU`gF)@)UVxXp;x=fuwTtLIH8z;$<JT0PT z%`MZZ1$(dz|Mner?>^1AUlAbKhZ_OMOYCGZASKI#7{Oy<{w6^<zco)hqSVwa-UhyW z1Qr$|6(VuGkyCVmZJGE4_s9=Zz&&rB(I$0des>8tdk(g=NDbFxq+l^xooT>hiJ)N! zv{(vfklAVY@*-^c4*c2`Zf4XGglQr3<1Hn2s%lE)BNibo65uhFwuv^Z+huzRo1CO7 zF|O*~Z)}eWtE>u(nT{)Z<yr___>tsdT4wA@g&A~=lp_;N-cb+bMr#7-Yq|gmX#(k< zDzFL)Ua9cmUFL}ujXC22)~2Dx;UTyVCy`#3aSC3uu#tvi)&-B_a4%oD?0Nc<$GEx4 zdp@KOho+UTK3vCav>5h1zkcgJHS6`%jQjZ+*CQaCig_gZ+#ESDhwMwWH7SLPHCtp- z8`OI>0o=Gw+I&roo>k_grjv}iufUfWj^#z@s7($>AWiNBZ38}p=P#H(y&x8ej$s`& zAd+vrfj!$`fIj`jj0KQE2-nQBvKqPT_2Hd$`1W=aOAM2)jUGMkBGqZwLVmXeJl#M& zAV5SCutqjAsif=u1)i+Kb_k|5+vpCnUaTyS5Y<ksw&;I&kLuxLpidS7CUAWmdp)4@ z2)^?vNJMJFUsp)hL@rl{5|p)W1G~G(Ypbwde}q-Ge{;Utf$!~=wH`zeDLK`vQ}|OQ zef|nxS%V$?g#S1IRywf#eG+bf#)$dF*%5&g64jKW0LY?LS4H8``9#I)xWrpNttrn@ zJxLTuqHz*6f5PK@{(Izt5vZIu&#}^<Xb^v#lLGt$o2bGkpCOJS00000NkvXXu0mjf DxeuUr literal 0 HcmV?d00001 diff --git a/doc/www/theme/static/tarantool_infinity_logo.png b/doc/www/theme/static/tarantool_infinity_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6b13a88c951014d8f9a2d0e27f9e5e3f15d511f5 GIT binary patch literal 11492 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 KMNUMnLSTY%33=fF literal 0 HcmV?d00001 diff --git a/doc/www/theme/templates/index_308.html b/doc/www/theme/templates/index_308.html new file mode 100644 index 0000000000..9a7498f62f --- /dev/null +++ b/doc/www/theme/templates/index_308.html @@ -0,0 +1,160 @@ +{% extends "base" %} + +{% block header_scripts %} +<script src="http://code.highcharts.com/highcharts.js"></script> +<script src="js/index_tabs.js"></script> +<script src="js/highcharts.js"></script> +{% endblock header_scripts %} + +{% block content %} +<section class="b-gray_block b-mainhead"> + <div class="b-block-wrapper"> + <!-- <a href="https://github.com/tarantool/tarantool/" class="b-follow">Follow on</a> --> + <div class="header-logo"></div> + <h2 class="b-Tarantool_title-note">{{ page.blocks.header[1] }}</h2> + <p class="b-Tarantool_title-text">{{ page.blocks.header[2] }}</p> + <div class="buttons-header"> + <a href="http://tarantool.org/download.html" class="b-button-red-download">DOWNLOAD</a> + <a href="mailto:support@tarantool.org" class="b-button-white">ASK QUESTION</a> + </div> + </div> +</section> + +<section class="b-block b-features"> + <div class="b-block-wrapper"> + <h2 class="b-section-title">Features</h2> + <ul class="b-features-list"> + {% for item in page.blocks.features %} + <li class="b-features-list-item">{{ item }}</li> + {% endfor %} + </ul> + </div> +</section> + +<section class="b-gray_block b-support"> + <div class="b-block-wrapper"> + <h2 class="b-section-title">Support</h2> + <ul class="b-support-list"> + {% for item in page.blocks.support %} + <li class="b-support-list-item">{{ item }}</li> + {% endfor %} + </ul> + </div> +</section> + +<section class="b-block"> + <div class="b-block-wrapper"> + <h2 class="b-section-title">Business Services</h2> + <ul class="b-support-list"> + {% for item in page.blocks.businessservices %} + <li class="b-support-list-item">{{ item }}</li> + {% endfor %} + </ul> + </div> +</section> + +<section class="b-gray_block b-support"> + <div class="b-block-wrapper"> + <h2 class="b-section-title">Why Tarantool?</h2> + <ul class="b-support-list"> + {% for item in page.blocks.whytarantool %} + <li class="b-support-list-item">{{ item }}</li> + {% endfor %} + </ul> + </div> +</section> + +<section class="b-block b-features"> + <div class="b-block-wrapper"> + <h2 class="b-section-title">Use cases</h2> + <ul class="b-features-list"> + {% for item in page.blocks.usecases %} + <li class="b-features-list-item">{{ item }}</li> + {% endfor %} + </ul> + </div> +</section> + +<section class="b-gray_block"> + <div class="b-block-wrapper"> + <h2 class="b-section-title">Papers</h2> + <ul class="b-news-list papers"> + {% for item in page.blocks.papers %} + <li class="b-news-list-item"> + <div class="b-date"> + <span>{{ item.date[1].day }}</span> + {{ item.date[0].year }} + </div> + <h3 class="b-news-list-item-title"> + {{ item.link }} + </h3> + </li> + {% endfor %} + </ul> + </div> +</section> + +<section class="b-block b-benchmark"> + <div class="b-block-wrapper"> + <h2 class="b-section-title">Our benchmarks (YCSB)</h2> + <div class="b-block-wrapper_bench"> + <div class="b-benchmark-catalog"> + <ul class="b-switcher"> + <li class="b-switcher-item"><a href="#" class="b-switcher-item-url p-active">A</a></li> + <li class="b-switcher-item"><a href="#" class="b-switcher-item-url">B</a></li> + <li class="b-switcher-item"><a href="#" class="b-switcher-item-url">C</a></li> + <li class="b-switcher-item"><a href="#" class="b-switcher-item-url">D</a></li> + <li class="b-switcher-item"><a href="#" class="b-switcher-item-url">E</a></li> + <li class="b-switcher-item"><a href="#" class="b-switcher-item-url">F</a></li> + </ul> + </div> + <div class="b-benchmark-type"> + <ul class="b-switcher"> + <li class="b-switcher-item"> + <a href="#" class="b-switcher-item-url p-active">Throughput</a> + </li> + <li class="b-switcher-item"> + <a href="#" class="b-switcher-item-url">Latency</a> + </li> + </ul> + </div> + <h3 class="b-benchmark-type-title">Workload A</h3> + </div> + <div class="b-benchmark-grapf"><div id="b-benchmark-grapf-image"></div></div> + <div class="b-benchmark-more"> <a href="/benchmark.html">Learn more</a></div> + </div> +</section> + +<section class="b-gray_block b-customers"> + <div class="b-block-wrapper"> + <h2 class="b-section-title">Our users</h2> + <div class="b-cols"> + <div class="b-cols-item"> + <a href="http://mail.ru" class="b-cust_logo i-mailru"></a> + </div> + <div class="b-cols-item-empty"> </div> + <div class="b-cols-item"> + <a href="http://badoo.com" class="b-cust_logo i-badoo"></a> + </div> + <!--div class="b-cols-item-empty"> </div> + <div class="b-cols-item"> + <a href="http://sbrf.ru" class="b-cust_logo i-sberbank"></a> + </div--> + <div class="b-cols-item-empty"> </div> + <div class="b-cols-item"> + <a href="http://avito.ru" class="b-cust_logo i-avito"></a> + </div> + <div class="b-cols-item-empty"> </div> + <div class="b-cols-item"> + <a href="http://qiwi.ru" class="b-cust_logo i-qiwi"></a> + </div> + <div class="b-cols-item-empty"> </div> + <div class="b-cols-item"> + <a href="http://wallarm.com" class="b-cust_logo i-wallarm"></a> + </div> + </div> + </div> +</section> +{% endblock content %} + +{# vim: syntax=htmldjango ts=2 sts=2 sw=2 expandtab #} -- GitLab