Я тоже удивился что никто еще не писал. Я её впервые году в 2003-м увидел. А ведь многие до сих пор и не слышали об этой ОС. Вот решил поделиться для развития кругозора так сказать.
Во-первых есть сиквенции. Зачем отдельная таблица я не понимаю. Во вторых есть мнение что такой подход станет узким местом при высокой нагрузке, ведь таблица на время записи блокируется, как впрочем и сиквенция.
И как вам переход? Куда перешли? Афиша это социальная сеть с множеством разнотипного контента? Вы уж говорите тогда посушеству, было то, такие проблемы, сделали это, проблемы пропали и т.д.
А так многие программеры хотят с чего нибудь куда нибудь перейти. Непонятно с чего и непонятно куда только.
Насчет Вконтакте. Думаю что если бы они делали бы все по этой схеме, то развили бы свой сервис по функционалу раза в три быстрее, а оставшееся время кинули бы на оптимизацию узких мест и скорее всего большенство из них решили бы аппаратно, не переписывая кода. При этом куря всякие хорошие сигары и попивая сок лаймы новозеландской.
На паре десятков, или даже сотен тысяч не начнутся точно. а вот на паре десятков миллионов думаю начнуться. но тут уде вступают в силу методы оптимизации. уверен чаще всего можно разрулить ситуацию даже не переписывая код.
я так и думал что Хибернейт :) Сам его применяю сейчас. И главное, мои компоненты они полноценные хибернейтовские энтети! Их можно использовать и так и так. Независимо от аннотаций. Согласись это гибкость и это здорово.
Пример когда без классики сложно: деревья NestedSets (только что придумал). Или, некоторые поисковые запросы, индексация. Некие части системы, к социальной сети не относящиеся, банерокрутилка например.
Люблю такую фразу "не доводите до фанатизма". Применимо ко всему :) Так что каждая концепция должна применяться только там, где она эффективна, а не там куда её в принципе возможно приткнуть.
Что такое циклические сслыки? Много однонаправленных? Такое невозможно просто потому что в таблице GUID есть составной уникальный ключ. А ссылки туда/обратно часто наоборот полезны. Например пользователь может быть владельцем сообщества и сам же в нем и состоять.
А так многие программеры хотят с чего нибудь куда нибудь перейти. Непонятно с чего и непонятно куда только.
Люблю такую фразу "не доводите до фанатизма". Применимо ко всему :) Так что каждая концепция должна применяться только там, где она эффективна, а не там куда её в принципе возможно приткнуть.
есть такое понятие как сиквенция ;)