Тест Varnish'а получился, не?
Переходя на MyISAM помните, что выдергивание сервера из розетки с большой вероятностью даст ручное восстановление данных с потерей некоторой части оных — MyISAM не контролирует свою целостность в отличии от InnoDB. Ну транзакционная целостность… не нужна?
В Apache можете еще обработку .htaccess отключить, а вообще nginx.
Абстрагируясь от конкретно вашей реализации, скажу, что идея с блоками и многоуровневым кэшем очень красивая, на мой взгляд.
Можно, например, закэшировать страницу целиком в varnish, вместо блоков с отличной стратегией кэширования (или с отсутствием оной) расставить <esi:include />, а дальше в зависимости от стратегии кэшировать вызываемые блоки на время, по зависимости, вставлять ajax загрузчик вместо контента или не кэшировать вовсе. В идеале, если условия кэширования совпадут для всех блоков на странице, страница будет в кэше полностью, если нет, то будет несколько быстрых подзапросов в другой кэш.
Грамотная инвалидация кэша по тегам, описанная выше, добавит прелести всей схеме.
Представьте дерево или граф, которые пользуются и в хвост и в гриву :-)
Нужно вставить дочерний узел. Перед вставкой нужно убедиться в существовании родителя. Делаем SELECT, убеждаемся, делаем вставку и получаем «foreign key constraint fails» — родителя кто-то успел грохнуть. LOCK IN SHARE MODE в данной ситуации не позволит никому потереть родителя до завершения транзакции, а FOR UPDATE будет излишним, так как не даст другим читать родителя.
SERIALIZEABLE. Вот сваяли вы соц сеть, а с приходом популярности в логах стали появляться ошибки из примера выше. Включаете SERIALIZEABLE и идете рыть код… ну или пиво пить.
А чего вы человека заминусовали-то? Это ж не сарказм, вроде бы… :-)
Приложения обычно больше читают, нежели пишут. MVCC позволяет читателям не стоять в очереди и не мешать писателям.
Верно. В простейшем виде блокировки, это некая очередь. Если блокировке мешает предыдущая, она не отваливается с ошибкой, она просто встает в очередь. Как только мешающая блокировка будет снята, следующая по очереди вступит в силу. Две блокировки — два действия постановки в эту очередь, соответственно между этими действиями может кто-то еще успеть встать в эту очередь между ними.
В базовом виде, думаю, суть с постановкой в очередь примерно одинакова в различных СУБД, но, полагаю, что у всех есть алгоритмы для предотвращения deadlock'ов, которые работают с этой очередью и могут ее тасовать каким-нибудь хитрым образом. Утверждать не берусь, ибо не знаю.
Да, блокируется чтение для обновления и для lock in share mode тоже, т.е. любое блокирующее. Простое неблокирующее чтение (то, что из снэпшота) игнорирует блокировки.
Обязательно порадуемся. Только это не перевод документации. Безусловно она тут присутствует в какой-то степени, было бы странно ее не использовать (добавить небылиц от себя?). В доках вся информация раскидана по куче статей, здесь же пересказана в кратком виде с пояснениями и примерами.
Не хочется держать бандуру только ради корректного отключения. Хотя если бы найти ИБП размером с пачку сигарет, так чтобы хватало на отключение… Нет ли таких?
Отключения электричества в моем случае контролируемые — при выходе из дома обесточиваются практически все линии. Так что активности (в режиме без отложенной записи) на NAS быть не должно… разве что он сам решит что-нибудь дефрагментировать…
Напишите, пожалуйста, подробнее, запись во флэш, это только перепрошивка или же девайс сам может решить чего-нибудь записать.
Можно ли выключить устройство штатно кнопкой на корпусе? Как быстро выключается?
Внезапные отключения электричества есть штатный режим работы моей квартиры (раз в день минимум) и поэтому вопрос выживаемости устройства и данных в таких условиях весьма важен для меня.
Вот вам еще пара мыслей для обновления:
Прокрутка вперед циклична, назад —нет. Баг или фича?
При закрытии крупной версии картинки страница скроллится наверх. Баг.
Я довольно давно пользуюсь Note 10.1 и вот вам мнение о юзабельности стилуса.
Пользуюсь стилусом для конспектов лекций всяческих онлайн курсов. Лаг есть, но он весьма небольшой. На сложных кистях лаг увеличивается, но писать огромной полупрозрачной блямбой не приходится, а с простой тонкой точкой проблем нет.
В общем писать вполне комфортно… за одним маленьким исключением. Имеется некоторый «дребезг» что ли, пишешь слово и тут бац, штрих резко вырывается из под пера в сторону, миллиметров на 5-7. На страницу рукописного текста раз 10 случается. Постоянные правки запоротых слов несколько раздражают.
Но не смотря на этот дребезг, этот планшет вполне годная замена тетрадки с ручкой.
Как пользователь большого SG Note, замечу, что при использовании самой простой тонкой кисти задержки почти нет, писать текст весьма комфортно. Я заменил многочисленные бумажки на столе планшетом, пока доволен. Большой стилус, с ластиком на другом конце, вообще песня.
А у вас Service Layer наружу отдает объекты СActiveRecord?
Мне тоже нравится идея промежуточного слоя, но вот модели с их богатым интерфейсом несколько портят картину. Разделить бы CActiveRecord на Domain Model (CModel) и Data Mapper (CActiveFinder + insert/update логика).
Константы из кода ядра есть части сглаживающего коэффициента:
en.wikipedia.org/wiki/Moving_average#Application_to_measuring_computer_performance
Переходя на MyISAM помните, что выдергивание сервера из розетки с большой вероятностью даст ручное восстановление данных с потерей некоторой части оных — MyISAM не контролирует свою целостность в отличии от InnoDB. Ну транзакционная целостность… не нужна?
В Apache можете еще обработку .htaccess отключить, а вообще nginx.
Можно, например, закэшировать страницу целиком в varnish, вместо блоков с отличной стратегией кэширования (или с отсутствием оной) расставить <esi:include />, а дальше в зависимости от стратегии кэшировать вызываемые блоки на время, по зависимости, вставлять ajax загрузчик вместо контента или не кэшировать вовсе. В идеале, если условия кэширования совпадут для всех блоков на странице, страница будет в кэше полностью, если нет, то будет несколько быстрых подзапросов в другой кэш.
Грамотная инвалидация кэша по тегам, описанная выше, добавит прелести всей схеме.
Нужно вставить дочерний узел. Перед вставкой нужно убедиться в существовании родителя. Делаем SELECT, убеждаемся, делаем вставку и получаем «foreign key constraint fails» — родителя кто-то успел грохнуть. LOCK IN SHARE MODE в данной ситуации не позволит никому потереть родителя до завершения транзакции, а FOR UPDATE будет излишним, так как не даст другим читать родителя.
SERIALIZEABLE. Вот сваяли вы соц сеть, а с приходом популярности в логах стали появляться ошибки из примера выше. Включаете SERIALIZEABLE и идете рыть код… ну или пиво пить.
Приложения обычно больше читают, нежели пишут. MVCC позволяет читателям не стоять в очереди и не мешать писателям.
В базовом виде, думаю, суть с постановкой в очередь примерно одинакова в различных СУБД, но, полагаю, что у всех есть алгоритмы для предотвращения deadlock'ов, которые работают с этой очередью и могут ее тасовать каким-нибудь хитрым образом. Утверждать не берусь, ибо не знаю.
Отключения электричества в моем случае контролируемые — при выходе из дома обесточиваются практически все линии. Так что активности (в режиме без отложенной записи) на NAS быть не должно… разве что он сам решит что-нибудь дефрагментировать…
Можно ли выключить устройство штатно кнопкой на корпусе? Как быстро выключается?
Внезапные отключения электричества есть штатный режим работы моей квартиры (раз в день минимум) и поэтому вопрос выживаемости устройства и данных в таких условиях весьма важен для меня.
Вот вам еще пара мыслей для обновления:
Прокрутка вперед циклична, назад —нет. Баг или фича?
При закрытии крупной версии картинки страница скроллится наверх. Баг.
Пользуюсь стилусом для конспектов лекций всяческих онлайн курсов. Лаг есть, но он весьма небольшой. На сложных кистях лаг увеличивается, но писать огромной полупрозрачной блямбой не приходится, а с простой тонкой точкой проблем нет.
В общем писать вполне комфортно… за одним маленьким исключением. Имеется некоторый «дребезг» что ли, пишешь слово и тут бац, штрих резко вырывается из под пера в сторону, миллиметров на 5-7. На страницу рукописного текста раз 10 случается. Постоянные правки запоротых слов несколько раздражают.
Но не смотря на этот дребезг, этот планшет вполне годная замена тетрадки с ручкой.
Вот интересно, как с дребезгом у 8" версии?
Когда он уже до продажи доберется?
Мне тоже нравится идея промежуточного слоя, но вот модели с их богатым интерфейсом несколько портят картину. Разделить бы CActiveRecord на Domain Model (CModel) и Data Mapper (CActiveFinder + insert/update логика).