что такое кронос база данных
Что такое кронос база данных
Подскажите, что такое базы Кронос (некоторое представление я имею, но хотелось бы получить четкий ответ)?
Я правильно понимаю, что к той или иной базе легальный доступ может иметь очень ограниченный круг гос. органов?
Что такое «База 956» применительно к Кронос?
Если по каким-то причинам не хотите отвечать в форуме, но готовы подсказать мне лично, то просьба связаться напрямую через инфу в профиле.
| От: | pva |
Дата: | 30.03.12 19:12 | |
Оценка: |
| От: | Donz | http://donz-ru.livejournal.com |
Дата: | 01.04.12 11:56 | ||
Оценка: |
Здравствуйте, pva, Вы писали:
D>>Подскажите, что такое базы Кронос (некоторое представление я имею, но хотелось бы получить четкий ответ)?
pva>Кронос — это коммерческая легкая СУБД. Базы — соответственно, обычные БД в этой СУБД. Четкий ответ здесь.
Да, в курсе про саму СУБД. Интересует, что имеется в виду, когда говорят про базы Кронос. Эта СУБД принята в качестве стандарта в гос. учреждениях? Или в этом формате проще сливать?
D>>Что такое «База 956» применительно к Кронос?
pva>То же самое что 42 применительно к смыслу всего сущего. Подозреваю что какая-нибудь ведомственная БД с ограниченным доступом.
Тоже подозреваю. Для того и спрашиваю, чтобы кто-нибудь дал точный ответ.
Kronos: никаких путешествий во времени даже в распределенных системах
В распределенных системах есть ряд фундаментальных проблем: эффективные распределенные транзакции, exactly-once обработка данных, точная синхронизация физических часов. Для решения последней проблемы были изобретены разные виды логических часов.
Тем не менее, векторные часы обладают неприятными свойствами: они вводят условную зависимость между событиями там, где ее нет, и теряют ее там, где она на самом деле есть.
Однако, можно придумать нечто более надежное — Kronos. В статье мы посмотрим на алгоритм учета причинно-следственной связи и его применение для построения Key-Value хранилища с распределенными транзакциями.
Проблемы
Как уже было сказано, с логическими часами есть ряд проблем:
Несуществующие зависимости возникают потому, что логические часы вводят полный порядок на событиях — т. е. любые про любые два события можно сказать, какое условно-раньше, а какие условно-позже. Подряд условный, поскольку точно определить взаимосвязь событий во времени определить невозможно, в том числе в силу Специальной Теории Относительности.
К логическим часам невозможно получить доступ извне, а также сложно связать между собой несколько независимых компонент (распределенная файловая система, сервисы обработки запросов, аналитика).
Решение
В статье 2014 года Kronos: The Design and Implementation of an Event Ordering Service предлагается решение — отдельностоящий сервис, который будет заниматься учетом причинно-следственных связей в событиях.
Основная абстракция внутри Kronos — событие, на которых вводится частичный порядок. Отношение причинно-следственной связи является транзитивным — т. е. если, например, мы знаем, что создание файла предшествует его изменению, а изменение предшествует удаление, можно сделать закономерный вывод, что создание произошло до удаления.
Минимальное API можно определить следующим набором методов:
Реализация
Вполне логично, что в основе системы лежит ориентированный граф событий, с эффективным поиском в ширину для проверки взаимосвязи событий, механизмом устойчивости при отказе и сборкой мусора.
Эффективный BFS
В нашем случае, граф может быть большим, но события, для которых будут выполняться запросы проверки, как правило, будут располагаться близко. Поэтому необходимо выполнять BFS быстрее для таких случаев.
В стандартной реализации самое долгое место — инициализация массива посещенных вершин, которая всегда занимает время, равное количеству вершин в графе. Вместо этого можно использовать хэш-таблицу или применить другие трюки.
Сборка мусора
Kronos удалит событие, когда все условия будут выполнены:
Такой подход не ограничивает возможные запросы, но экономит память внутри Kronos.
Приложения
Рассмотрим использование системы на примере Key-value хранилища с распределенными транзакциями.
Пусть есть несколько серверов, каждый сервер отвечает за диапазон ключей.
Каждой транзакции соответствует событие в Kronos. Для каждого ключа сервер должен хранить номер последней транзакции, в которой участвовал этот ключ. Клиент создает событие и рассылает его номер по всем серверам, чьи ключи затронуты данной транзакцей. Сервер пытается создать зависимость в Kronos между текущим номером транзакции и предыдущим событием, которое сохранено для этого ключа. Если создать зависимость не получается, то транзакция признается неуспешной (заметим, что до текущего момента никакакого взаимодействия с данными еще нет).
Если же все операция добавления зависимостей завершились успешно — это значит, что транзакция состоится и ее можно выполнять. Сервера узнают об этом от клиента и начинают выполнять части транзакции.
Заметим, что такие транзакции будут ACID:
Производительность
Реализация такого KV-хранилища действительно может быть эффективной. В оригинальной статье приводятся данные, что описаная реализация KV-хранилища превосходит по скорости транзакций реализацию на основе блокировок в 4 раза.
Более того, в сравнении с MongoDB система поверх Kronos уступает всего на 6%, при том, что в MongoDB не используются распределенные транзакции.
Анализ
Тем не менее, эксплуатация Kronos несет ряд недостатков.
Тем не менее, описанная система позволяет гибко управлять причинно-следственной связью между событиями, обеспечивая предсказуемое соблюдение необходимых инвариантов.
Заключение
Примерно такому мы в Школе GoTo учим студентов и школьников на направлении Распределенных Систем.
А еще есть Алгоритмы и Приложения, Прикладное программирование, Биоинформатика и Анализ Данных
Приезжайте к нам на осеннюю школу 27 октября — 4 ноября или зимнюю школу в начале января.
А если вы уже не студент и не школьник — приезжайте преподавать.
CronosPRO
Содержание
О программном продукте
Инструментальная система управления базами данных (ИСУБД) «CronosPRO»© – это программный комплекс, предназначенный для накопления и анализа информации, организованной в виде структурированных хранилищ – банков данных – различной степени сложности.
ИСУБД «CronosPRO» является дальнейшим развитием ИСУБД «CronosPlus»©. Система сохраняет все положительные качества предшественницы, но при этом существенно превосходит её по функциональным возможностям, надёжности и быстродействию. Значительную часть пользователей ИСУБД «CronosPRO» составляют сотрудники информационно-аналитических подразделений и служб безопасности различных компаний – те, кто по роду своей деятельности регулярно сталкивается с необходимостью оперативного анализа значительных объёмов информации.
ИСУБД «CronosPRO» это:
«CronosPRO» как система управления базами данных
В основе ИСУБД «CronosPRO» лежит сетевая модель данных. Такой способ организации данных предшествовал реляционной модели и считался, в своё время, уже устаревшим. Однако время и опыт показали, что для структурирования больших объёмов трудноформализуемой информации подходят именно сетевые модели. К примеру, в основе глобальной сети Интернет лежит сетевая модель организации данных. Также данная модель используется при создании больших хранилищ данных. ИСУБД «CronosPRO» обладает пользовательским интерфейсом, что позволяет обращаться к базам данных без использования языка программирования и без специально спроектированных форм. «CronosPRO» позволяет осуществлять обмен данными с другими СУБД и поддерживает работу с данными внешних форматов. Специальные инструменты позволяют осуществлять поиск по несвязанным между собой банкам данных с разной структурой.
Основные отличия от других СУБД
Итак, главные отличия от других СУБД:
«CronosPRO» как система графического анализа
В ИСУБД «CronosPRO» имеются инструменты графического представления. К таким инструментам относятся:
«CronosPRO» как среда разработки
«CronosPRO» как технология информационного взаимодействия
Лицензии и сертификаты
ИСУБД «CronosPRO» может обрабатывать персональные данные и сведения содержащие государственную тайну, о чём свидетельствуют:
Особенности системы
Итак, ключевыми особенностями системы являются:
Проект Кронос и малоизвестная российская команда из Новосибирского академгородка Kronos Research Group (KRG)
Речь пойдет о проекте, который еще раз опровергает тот предвзятый факт, что в области компьютерных технологий мы всегда отставали от Запада, а российские программисты занимаются «коленочным» программированием, и удел разработчиков разве что настраивать готовые системы под потребности нашего отечественного рынка.
Проект Кронос и малоизвестная российская команда из Новосибирского академгородка Kronos Research Group (KRG)
Во второй половине 1980 годов исследовательской группой Кronos были разработаны уникальные технологии, воплощенные в виде целого ряда законченных коммерческих продуктов, и ряд проектов в области космической и телекоммуникационной промышленности. С течением времени группа трансформировалась в три самостоятельные компании, известные как XDS, xTech Ltd. и ProPro Group.
Kronos Research Group (KRG) еще в середине 80 годов разработала отечественную 32-разрядную рабочую станцию, собственную UNIX-подобную операционную систему, реализовала программную и аппаратную части транспьютерной архитектуры для проекта МАРС (Модульные Асинхронные Развиваемые Системы).
Новосибирский государственный университет
Лето 1983 года считается началом создания проекта Кронос, как раз в это время стали доступны материалы по Modula-2 и Lilith. Алексей Недоря работал над дипломной работой — компилятор с языка Edison, Дмитрий Кузнецов работал над созданием компилятора Modula-2. Была организована небольшая группа, которая интересовалась программированием, компиляторами в том числе. Позже к группе присоединились Евгений Тарасов и Владимир Васекин. И вот весной 1984 года этим четверым в голову пришла «нахальная» идея создать что-то подобное Lilith, разработать свою машину со своей ОС.
Кронос-игрушки – это отдельная история. Вообще говоря, Кронос и задумывался изначально потому, что народу очень хотелось иметь машину для игр в собственном распоряжении. Дорого бы я дала сейчас, чтобы поиграть в Кроносовые игрушки. Чемоданчики – были написаны Джоном Серюковым. Он подолгу играл в них – должно быть, отлаживал 🙂 Ксоникс – каких только не было придумано стратегий выигрыша! Самым изящным считалось загнать все шарики-убийцы в узкие комнаты или лабиринты, где они могли совершать только слабые подёргивания. Пентикс – аналог Тетриса, только из пяти квадратиков – первая игрушка на Илюшином цветном дисплее. Аддикция игры была такая, что добровольно прекратить играть было абсолютно невозможно. Одной из игрушек был «Лабиринт», творение Димки Флаасса. Суть игры – требовалось запрограммировать робота на мета-язычке так, чтобы он обошёл лабиринт, собрав по пути все «клады». Народ сидел, вырисовывая на бумажке схему лабиринта, вычисляемую в процессе игры эмпирически – лабиринт порождался для каждой игры случайным образом. Увлечение игрой закончилось неожиданно и закономерно – Димка переделал лабиринт в 3-мерный, что сильно усложнило игру и катастрофически увеличило время ее прохождения. Не осилили.
Опираясь на опыт разработки персональной ЭВМ Lilith при разработке, все же многие решения принимались независимо. Была существенно переработана архитектура взаимодействия процессов, прерываний, адресации и работы с внешними устройствами. Многие упрощения были достигнуты благодаря 32-разрядности процессора (в виде платы для Электроники-60), созданием которого были заняты Тарасов с Васекин. Дедушкой Кроноса можно уверенно считать Никлауса Вирта, профессора из Цюриха, именно он создал язык программирования Modula-2 и реализовал его на машине Lilith. Modula-2 незаменима при разработке программного обеспечения.
Название было дано в честь греческого титана Кроноса. В представлении древних греков царство Кроноса соответствовало «золотому веку», а еще оно созвучно греческому слову «хронос», что в переводе означает — время. По словам разработчиков название скорее всего было выбрано случайно, понравилось звучание.
Существенной особенностью проекта Кронос была исключительная, я бы сказал, магическая, притягательность его для талантливых студентов. Такого эффективно работающего, стихийно самоорганизованного молодежного коллектива я больше никогда не видел. В выделенных для работы 40 квадратных метрах день и ночь что-то программировалось (программировали обычно ночью), обсуждалось, приходили все новые и новые студенты, им ставили задачи, а уже через небольшое время они чувствовали себя старожилами Кроноса. Через этот проект прошло, наверное, человек 20. Сразу скажу, что все они достигли высшей квалификации и сейчас являются лидер ами своих нынешних команд, хотя и в разных организациях, городах и странах.
Кузнецов начал писать компилятор на Burroughs 6700 и интерпретатор Кроноса. Недоря реализовывал маленькую ОС под управлением интерпретатора. К лету 1984 года Недоря написал на языке Паскаль микроассемблер для микропрограммирования Кроноса. Уже в декабре 1984 года процессор Кронос-1 был готов. После того как для организации кросс-разработки по последовательному каналу Кронос был подключен к Burroughs, начался сложный процесс отладки.
На Кроносе работала пультовая микропрограмма, на Burroughs же была написана маленькая связная утилита, она позволяла загрузить программу в Кронос и запустить ее. Все заработало, но так себе. Поэтому вскоре началась разработка Кронос-2. Планировалось изменить систему команд, процессор, компилятор. Его разработка началась с разработки системы команд, которую не удавалось друг с другом согласовать. Раскрутка новой системы велась прямо через Кронос, на Паскале был завершен Кронос-ассемблер, который был структурным и поддерживал понятия процедуры и раздельной компиляции.
На Кронос-ассемблере были написаны загрузчик, примитивная файловая система и редактор, планировщик процессов. К Кроносу был подключен второй терминал, после этого заработала двухпользовательская операционная система.
Начиная с 1985 года все работы по проекту Кронос проводились в Вычислительном центре, при поддержке А.Г.Марчука. Тут работали создатели проекта Дмитрий Кузнецов, Алексей Недоря, Евгений Тарасов и Владимир Филиппов. Изначально был разработан Кронос-1, позже Кронос-2, Кронос-2.2, Кронос-2.5, Кронос-2.6. Кронос-2 был высоко оценен любителями (вручную было изготовлено около 50 машин) и специалистами в промышленности — документация передавалась в разные организации и в некоторых разработка тиражировалась.
Кронос-2.2, Кронос-2.5, Кронос-2.6 известны как семейство процессоров Кронос.
В 1985 году команде Kronos Group попала в руки книга Вирта на английском языке, которая была о Modula-2.
Это было то, что мы искали, – разбиение программных модулей на интерфейсные и исполнительные части, а также система более строгого программирования с сохранением удобного доступа к низкоуровневым средствам. Появилась возможность наладить нормальное коллективное взаимодействие и вычленить на уровне языка системно-зависимые части. Продолжая работы по обкатанной технологии, мы стали перестраивать свое инструментальное хозяйство на ходу. За пару месяцев удалось разыскать работающий компилятор (это были преемники виртовской системы для PDP-11: М22 и М23 для RT-11). Система понравилась, единственное, что разочаровало, – не очень удачная реализация генератора объектного кода. Даже ради красивой идеи мы не могли позволить себе транжирить системные ресурсы.
Командой была реализована несложная методика ассемблерных вставок, выявлялись критические процедуры, после чего они переписывались вручную на ассемблере «… Оставалось только обмануть защиту компоновщика и написать небольшую программку, которая прямо с листинга в кодах заносила «оптимизированные» процедуры в соответствующее место и корректировала все контрольные суммы, обеспечивающие целостность объектного кода. Все работало как часы».
Алексей Недоря и Владимир Филиппов у рабочей станции Кронос 2.6
Работы проводились на машине с 96 Кбайт оперативной памяти, с единственной внешней памятью были флоппи-диски (480 Кбайт). Так как программировать дальше на ассемблере было «затруднительно», Недоря, Кузнецов и Тарасов занялись написание компилятора, для этого потребовалось 2 недели, размер такого компилятора — 3 тысячи строк на ассемблере. «Не знаю, как остальные, – подчеркивает Недоря, – но я до сих пор считаю тот компилятор для „Кроноса“ одной из лучших своих разработок». Команда приступила к созданию операционной системы Excelsior.
Для ОС Excelsior прототипом послужила ОС UNIX. Она была популярна на то время. Правда окончательная версия, которая была полностью написана на Modula-2, была названа Excelsior iV (мнимая UNIX System V). Она была многопользовательская, многозадачная, построенная на принципе динамической загрузки. 15 человек трудились над созданием операционной системы Excelsior, Дмитрий Кузнецов занимался разработкой файловой системы, а Алексей Недоря — ядром.
В 1986 году из группы ушел Васекин и его место занял Владимир Филиппов. Уже к 1988 году группа насчитывала почти 20 человек.
В 1987 году выпускались модификации Кронос-2.5 и Кронос-2.6. СКВ Института кибернетики АН Эстонии, радиозавод в Ижевске, завод в Ленинграде, несколько предприятий в Новосибирске, Бердске, Кишиневе, Перми занимались выпуском этого семейства процессоров, были модернизированы финские 16-разрядные компьютеры серии ELORG-DATA, позже начал разрабатываться 64-разрядный арифметический сопроцессор.
И так, Кронос — это общее название семейства 32-разрядных процессоров, которые были предназначены для создания микро- и мини-ЭВМ, архитектура данных процессоров ориентирована на поддержку языков программирования высокого уровня, а это позволяло реализовывать новейшие концепции в области создания программного обеспечения и использования ЭВМ.
Семейство процессоров Кронос 2.X
Семейство 2.X включает в себя три разработки: 2.2, 2.5, 2.6. Процессоры Кронос выпускались опытными партиями в основном для целей построения инструментальных машин для создания и отладки ПО. Основное применение нашли процессоры Кронос 2.6 при мелкосерийном производстве Рабочей станции Кронос-2.6WS.
Рабочая станция Кронос-2.6WS
Процессоры семейства 2.X имеют одну систему команд, различаются по внутреннему функциональному устройству, быстродействию и конструктивному исполнению. Процессоры полностью совместимы программно, блок микропрограммного управления реализует логику функционирования всех блоков. «Две шины данных объединяют арифметико-логическое устройство, блок регистров, быстрый аппаратный стек на 7 слов, устройства выборки команд и ввода/вывода. Двухшинная внутренняя структура процессоров позволяет выполнять бинарные операции на стеке (сложение, вычитание, логические И, ИЛИ и т.д.) за один такт. Таким образом, за один такт исполняется большинство команд, что отвечает основным идеям RISC-архитектуры. Микропрограммное управление упрощает устройство процессоров и дает возможность реализовать сложные команды типа вызова процедуры». (Архитектура процессоров семейства Кронос)
ОЗУ Кронос М256.2
процессор Кронос П2.1
процессор Кронос П2.2
Кронос 2.2 — первая реализация изложенных выше архитектурных концепций. Процессор выполнен в виде платы в конструктиве ЭВМ Электроника-60, полностью совместим со всеми устройствами, поддерживающими протокол обмена по шине Q-bus 22, оперирует 32-разрядными словами. Шина 16-разрядная, поэтому доступ к слову данных в памяти происходит за два обращения по шине Q-bus 22. АЛУ Кронос 2.2 — 20-разрядное. Адресная арифметика обрабатывается за один такт, а данные – за два такта, процессор размещен на одной плате.
процессор Кронос П2.5
Существенным отличием Кронос 2.5 является наличие локальной памяти объемом 0,5-2 Мбайт — в зависимости от применяемых микросхем. Остальная память — на шине Multibus-1 (до 1 Мбайт). Кронос 2.5 является полностью 32-разрядным, выполнен в виде двух плат в конструктиве Intel. Тактовая частота процессора — 3 МГц, производительность — 1 млн простых операций в секунду над стеком.
процессор Кронос П2.6
Кронос 2.6 отличается конструктивным исполнением и гибкостью реконфигурации для конкретного применения, он может быть встроен в отдельную мини-ЭВМ, в мультипроцессорный комплекс, размер плат 233,3 х 220 мм (Е2) — плата обрабатывающего тракта (АЛУ, стек, регистры), плата микропрограммного управления, плата локальной памяти (0.5-2 Мбайт), плата адаптера шины ввода/вывода. Устройства объединены локальной синхронной 32-разрядной шиной, куда могут быть добавлены платы памяти, адаптера межпроцессорной связи, контроллера к локальной сети и накопителя на магнитных дисках, плата памяти кода bitmap-дисплея, арифметического вычислителя и других устройств, тактовая частота процессора — 3 МГц, производительность — 1,5 млн операций в секунду над стеком.
Из жизни коллектива: «… на рабочей станции Кронос 2.6 без особого напряга могли работать одновременно три пользователя. Поскольку народу в группе было гораздо больше, работать приходилось посменно в круглосуточном режиме. Ночные смены любил Леопольд: он сидел до утра, а потом около восьми шел отводить ребенка в садик. Утром подтягивалась следующая смена.
Приходим однажды утром, на клавиатуре записка от Леопольда. На перфокарте большими печатными буквами написано: «Don’t touch! SYSTEM BUCHET!» Английского слова «buchet» никто не знал. Стали искать в словаре Мюллера. Было ясно, что слово написано неправильно, но в каком месте он его переврал и что имел в виду? После обеда, отоспавшись, пришел сам виновник торжества. Оказалось, он хотел донести до нас, что ничего нельзя трогать, поскольку модуль SYSTEM виснет».
Кронос-2.6 WS. Экспериментальная модель рабочей станции
Как упоминалось раньше, ЭВМ с процессорами Кронос 2.2, Кронос 2.5 и Кронос 2.6 работали под управлением операционной системы Excelsior, которая предназначалась для решения широкого круга задач. ОС Excelsior была создана отвечая следующим принципам — открытость системы, модульность, интегрируемость результатов, удобство интерфейса. Все программные средства ОС Excelsior ориентированы на мультипроцессное, многозадачное и многопользовательское применение. Модульная архитектура позволяла применять процессоры Кронос и во встроенных системах реального времени, и в супермини-ЭВМ. Легкость программирования делала Кронос незаменимым в приложениях, которые требовали постоянного развития и изменения ПО.
Исследовательский проект МАРС (Модульные Асинхронные Развиваемые Системы)
В 1983 году стало известно, что в Японии ведется проект по созданию компьютеров пятого поколения, в котором упор делался на значительное повышение «интеллектуальности» создаваемых систем. Проект привлек внимание и США, и стран Европы, начали формироваться предложения по созданию альтернативных проектов. В СССР взялись дать оценку японскому проекту и предложить концепцию, реальную в наших условиях. Для этого была создана группа специалистов по архитектуре и программному обеспечению ЭВМ, которую возглавил Котов, были привлечены многие специалисты. К началу 1985 года удалось собрать коллектив, подготовить и согласовать необходимые документы, в апреле Временный научно-технический коллектив Старт приступил к работе.
Александр Марчук заместитель руководителя ВНТК Старт:
Хорошо помню, что серьезных разногласий, а тем более конфликтов — не было. Была творческая атмосфера, научный анализ, уважение к чужому мнению. В отчете совсем мало было написано про японский проект, недостатки которого не хотелось даже критиковать. Будущее показало, что мы были правы и из того японского «чуда» мало что получилось. Кстати, и ведущие западные страны ответили на «японский вызов» программами национального уровня, и результаты американцев и европейцев оказались впоследствии куда более значимыми. Энтузиазм и творческую атмосферу нашей рабочей группы подпитывало ощущение начала большой созидательной работы.
Пару слов о финансировании, было выделено 12 млн. рублей на три года, и более миллиона долларов в валюте для закупки инструментальных компьютеров.
Одна из стоек суперкомпьютера МАРС-М, 1989
Кронос стал базовым процессором для создаваемой коллективом Старт вычислительной системы МАРС. В Старте Кронос был доведен до промышленного образца, выпускался мелкими сериями. Был разработан микропроцессор.
МАРС вычислительный элемент имел произвольное число соседей. Основным строительным блоком служил процессор Кронос (МАРС-Т). Целью проекта МАРС-Т было создание сети процессоров, которые были бы связаны быстрыми каналами. Память в системе была только локальная.
Макет МАРС-Т состоял из четырех процессоров Кронос-2.6, связанных каналами. В процессоры были добавлены дополнительные команды для приема/передачи данных из каналов. На одну машину (головную) загружалась ОС Excelsior iV с модифицированным ядром, на все остальные – небольшое специализированное ядро.
Позже был проект СОКРАТ, во главе с И. В. Поттосиным, сюда же вошли и некоторые члены Kronos Research Group. Проект предусматривал создание средств кросс-разработки для бортового ПО российских спутников.
После развала Сюза правительственное финансирование исследовательских проектов прекратилось и, увы, уже в 1991 году проект Старт был практически полностью свернут.
New Kronos
А. Денисов, А. Серюков, Е. Тарасов