Вот перевод текста на русский язык:
Это репозиторий нереляционной базы данных Orly (произносится «О, действительно»). Она предназначена для обеспечения высокой скорости и масштабирования для миллиардов пользователей. Orly предоставляет единый путь к данным и устраняет необходимость в memcache благодаря своей скорости и высокой степени параллелизма.
Особенности Orly:
-
Точки зрения: Это наша версия оптимистичной блокировки или изоляции. В традиционных базах данных клиенты должны заблокировать всю базу данных (или, по крайней мере, большие её части), прежде чем обновлять её, чтобы обеспечить согласованность данных. В Orly клиенты вносят изменения в свои собственные частные точки зрения, которые похожи на небольшие песочницы. Изменения в частных точках зрения в конечном итоге распространяются на общие точки зрения и в конечном итоге достигают глобальной точки зрения, которая является всей базой данных. Обновления частных точек зрения ничего не блокируют: Orly позже определяет, когда и как разрешить конфликты между различными точками зрения. Мы также поощряем вызовы полей, а не изменения полей (например,
x += 1
лучше, чем x = x + 1
).
-
Путешествие во времени: Мы используем нечто, называемое «Конденсатор потока», чтобы хранить историю изменений, внесённых в базу данных, и разрешать конфликты по мере их появления в общих точках зрения и глобальной точке зрения. Это позволяет нам выполнять согласованное чтение для любого момента времени. Orly определяет свою «линию времени» причинностью, а не временем часов. Вместо того чтобы манипулировать временными метками, Orly записывает порядок событий (например, обновление A влияет на обновление B, поэтому A «происходит до» B).
-
Язык запросов: Orly имеет собственный высокоуровневый, скомпилированный, типобезопасный функциональный язык под названием Orlyscript. Orlyscript — это не просто язык запросов: вы можете писать на нём программы общего назначения с модульными тестами во время компиляции. Orly поставляется с компилятором, который преобразует Orlyscript в общие библиотеки (.so файлы в Linux), которые серверы Orly загружают как пакеты.
-
Масштабируемость и доступность: Хотя мы в конечном счёте планируем разработать сегментированную машину Orly (и активно проектируем так, чтобы мы могли построить такую машину), наш текущий одноузловой сервер с аварийным переключением/репликацией может обрабатывать сотни тысяч транзакций в секунду. Нам нравится говорить, что Orly будет функционировать в «планетарном масштабе»: ваши данные и вычисления будут распределяться не только по центру обработки данных, но и по многим центрам обработки данных по всему миру. Это означает, что ни одна катастрофа, кроме взрыва планеты пятьдесят раз подряд или столкновения с гигантским астероидом, не уничтожит ваши данные. (Даже это может быть не катастрофично: возможно, у нас будут центры обработки данных с реплицированными данными на Луне или Марсе.)
Поддерживаемые платформы
В настоящее время Orly работает только на Linux.
Системные требования
- Ubuntu 14.04 LTS (Trusty Tahr) (64-разрядная версия)
- 4 ГБ оперативной памяти
Сборка Orly
Требуется последняя версия компиляторов gcc и clang/LLVM.
Мы в настоящее время используем: gcc (Ubuntu 4.9-20140406-1ubuntu1) 4.9.0 20140405 (экспериментальный) [версия ствола 209157]
Вклад в Orly
Документация по этому вопросу в настоящее время минимальна. См. docs/coding.md и docs/best_practices.md для основных начальных советов.
README.md Copyright 2010–2014 OrlyAtomics, Inc.
README.md лицензирован в соответствии с лицензией Creative Commons Attribution-ShareAlike 4.0 International.
Вы должны были получить копию лицензии вместе с этой работой. Если нет, см. http://creativecommons.org/licenses/by-sa/4.0/.
Опубликовать ( 0 )