Проект "Свободные голосования"
http://gplvote.andyhost.ru/forum/

Глобальная БД с частичным реплицированием от Юрия
http://gplvote.andyhost.ru/forum/viewtopic.php?f=5&t=365
Страница 1 из 1

Автор:  yurial [ 23 янв 2012, 00:11 ]
Заголовок сообщения:  Глобальная БД с частичным реплицированием от Юрия

Идея целиком и полностью вытекает из предложения огранизации голосования, поэтому баян-баянистый, но все же опишу.

БД предназначена для хранения общих данных: ключи, адреса, субъекты и т.п.
Каждая нода хранит у себя то количество данных которое в нее умещается, когда данных становится больше чем имеется места, на хранимые данные накладывается битовая маска: сохраняются только те данные у которых N бит подряд совпадают с битами в транспортном ключе.
N подбирается так, чтобы хранить все данные подходящие по маске.

Отсюда следует:
1) Можно создавать кластеры полностью реплицирующие все существующие данные, и для этого нет необходимости менять что-либо в алгоритмах;
2) Поиск данных сводится к поиску (бинарному) транспортного ключа совпадающего при наложении битовой маски (сформулирую точнее чуть позже);
3) Пользователь должен заранее указать количество места, которое он готов пожертвовать системе;
4) Все данные будут реплицироваться одинаковое количество раз;
5) Данные будут реплицироваться максимально возможное количество раз.

Надеюсь понятно хоть что-то :)

Автор:  IgorK [ 23 янв 2012, 09:48 ]
Заголовок сообщения:  Re: Глобальная БД с частичным реплицированием от Юрия

yurial, не идеал конечно (стиль изложения, я имею ввиду), но прогресс налицо :-).
Пункты 3-5 вызывают сомнения. Вот не люблю я, когда установленное на комп приложение жрет ресурсы. Установил маленькую прогу "чиста прагаласавать" - и на те. Реплицирует что-то без конца, трафик забила, места на диске было не много - а теперь вообще нет.
По существу поста: я (в другой ветке) написал лучше :-)

Автор:  yurial [ 23 янв 2012, 11:02 ]
Заголовок сообщения:  Re: Глобальная БД с частичным реплицированием от Юрия

IgorK писал(а):
yurial, не идеал конечно (стиль изложения, я имею ввиду), но прогресс налицо :-).
Пункты 3-5 вызывают сомнения. Вот не люблю я, когда установленное на комп приложение жрет ресурсы. Установил маленькую прогу "чиста прагаласавать" - и на те. Реплицирует что-то без конца, трафик забила, места на диске было не много - а теперь вообще нет.
По существу поста: я (в другой ветке) написал лучше :-)

П.3: Указали что готовы пожертвовать системе 1мб, она у вас не более 1мб и займет. И траффик будет соответсвующий.

Автор:  IgorK [ 23 янв 2012, 11:36 ]
Заголовок сообщения:  Re: Глобальная БД с частичным реплицированием от Юрия

yurial писал(а):
Указали что готовы пожертвовать системе 1мб, она у вас не более 1мб и займет. И траффик будет соответсвующий.

Да, да. При всероссийском референдуме размер БД ноды - 1Мб. Охотно верю. Хотя, если использовать мой подход - м.б. и меньше :-) Надо считать, но терабайты точно не проглядываются.

Автор:  Dim [ 23 янв 2012, 23:48 ]
Заголовок сообщения:  Re: Глобальная БД с частичным реплицированием от Юрия

yurial писал(а):
Надеюсь понятно хоть что-то :)
Надеялся что утром станет понятнее. Уже следующий вечер, но...
yurial писал(а):
3) Пользователь должен заранее указать количество места, которое он готов пожертвовать системе;
Самым популярным значением параметра будет минимально возможное.
Имхо, гораздо лучше дать возможность пользователю посмотреть какая информация храниться и сколько она занимает.
IgorK писал(а):
Вот не люблю я, когда установленное на комп приложение жрет ресурсы. Установил маленькую прогу "чиста прагаласавать" - и на те. Реплицирует что-то без конца, трафик забила, места на диске было не много - а теперь вообще нет.
В конечном итоге за всё надо платить. Если вы участвуете в управлении страной, то странно, что рассчитываете это делать за просто так.
В варианте "скачал-проголосовал-отключился" в конечном итоге данные будут стекаться в датацентры в концентрированном виде. И события будут развиваться в трёх вариантах:
1) Владельцы систем хранения с данными будут рулить как им надо. Реальные конечно владельцы.
2) Владельцы систем хранения будут продавать вам хранение ваших данных.
3) (Наиболее реальный.) Владельцы систем хранения будут продавать вам хранение ваших данных и рулить как им надо. При этом у вас будет иллюзия, что вы держитесь за руль.

Какой вариант вам больше нравится?
IgorK писал(а):
Надо считать, но терабайты точно не проглядываются.
Если пользователи НЕ будут хранить данные и оставаться на связи, то терабайты предстанут в полный рост. Я бы даже сказал петабайты. И не единицами.

Автор:  yurial [ 24 янв 2012, 00:00 ]
Заголовок сообщения:  Re: Глобальная БД с частичным реплицированием от Юрия

Dim писал(а):
yurial писал(а):
3) Пользователь должен заранее указать количество места, которое он готов пожертвовать системе;
Самым популярным значением параметра будет минимально возможное.
Имхо, гораздо лучше дать возможность пользователю посмотреть какая информация храниться и сколько она занимает.

Смотреть сколько занимает информация, конечно же можно, но что нам это даст? Как вы это представляете? Увидев, что ключи других пользователей занимают 1мб он захочет поделиться с системой 1Гб?

Вообще можно разработать механизм "не реплицировать данные более N раз", который включен по умолчанию, дабы использовать место только при необходимости.
ps предложение по антиреплицированию не отменяет саму архитектуру хранения и поиска информации.
pps поделиться 100мб для большинства ПК проблем не представляет...

Автор:  Dim [ 24 янв 2012, 01:26 ]
Заголовок сообщения:  Re: Глобальная БД с частичным реплицированием от Юрия

yurial писал(а):
Смотреть сколько занимает информация, конечно же можно, но что нам это даст?
Пользователь будет сам решать, что ему важнее иметь доказательства по голосованию или место которое они занимают.
yurial писал(а):
Как вы это представляете?
Выборы президента Земли. 16Тб всего. Хранится у 100000 пользователей. По 160Мб на каждого.
С уменьшением количества хранящих доля на каждого увеличивается. Отказавшись хранить данные вы теряете возможность перепроверки результатов.
Другим кандидатом на "удаление" могут быть например все голосования в кружке цветоводства в примерно том же объёме в пересчёте на пользователя.
yurial писал(а):
Увидев, что ключи других пользователей занимают 1мб он захочет поделиться с системой 1Гб?
А вот хранение ключей надо делать принудительным.

Как вариант недостающее пользователю место система может позаимствовать у общего пространства на платной основе. С распределением платы среди тех кто предоставляет места под данные более чем на 20% выше среднего.
Что справедливо и безопасно. Не хочешь дать место - плати. Не хочешь платить - предоставь место достаточно для хранения своего. Не хочешь ни того, ни другого - готовься что-то терять. Выделил пространства выше среднего - получи премию.

Это маленькая дополнительная "конфетка".

Автор:  yurial [ 24 янв 2012, 10:55 ]
Заголовок сообщения:  Re: Глобальная БД с частичным реплицированием от Юрия

Dim писал(а):
yurial писал(а):
Смотреть сколько занимает информация, конечно же можно, но что нам это даст?
Пользователь будет сам решать, что ему важнее иметь доказательства по голосованию или место которое они занимают.

Изначально и идет речь про "глобальные данные". Про это написано в первом посте.
Dim писал(а):
Как вариант недостающее пользователю место система может позаимствовать у общего пространства на платной основе. С распределением платы среди тех кто предоставляет места под данные более чем на 20% выше среднего. Что справедливо и безопасно. Не хочешь дать место - плати. Не хочешь платить - предоставь место достаточно для хранения своего. Не хочешь ни того, ни другого - готовься что-то терять. Выделил пространства выше среднего - получи премию.

Это маленькая дополнительная "конфетка".

Хорошая идея.

Автор:  Dim [ 26 янв 2012, 09:03 ]
Заголовок сообщения:  Re: Глобальная БД с частичным реплицированием от Юрия

yurial писал(а):
Изначально и идет речь про "глобальные данные". Про это написано в первом посте.
Что подразумевается под "глобальными данными"?
А данные по голосованиям в субъекте как хранить?

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/