Для тех, кто использует человечность 14.04 на 64 бита (после того, как чистая установка необходимо будет установить эти пакеты)
sudo apt-get install libgtk2.0-0:i386 libsm6:i386 libstdc++6:i386 xterm
Оба. В основном совместимость.
Включение моментального снимка по умолчанию нарушит работу подавляющего большинства приложений, ожидающих старого, блокирующего поведения. Снимок делает интенсивным использованием tempdb для хранилища версий, и его влияние на производительность вполне измеримо.
Включение моментального снимка по умолчанию нарушит работу подавляющего большинства приложений
Мне неясно, сломает ли он «подавляющее большинство» приложений. Или, если это нарушит работу многих приложений таким образом, что их будет сложно идентифицировать и / или трудно будет обойти. В документации SQL Server указано, что READ COMMITTED
и READ COMMITTED SNAPSHOT
оба удовлетворяют определению ANSI READ COMMITTED
. (Заявлено здесь: http://msdn.microsoft.com/en-us/library/ms189122.aspx ) Итак, пока ваш код не полагается ни на что, кроме буквального поведения, требуемого ANSI, теоретически, все будет в порядке.
Сложность состоит в том, что спецификация ANSI не фиксирует все, что люди обычно думают, такие как грязное чтение, нечеткое / неповторяющееся чтение и т. д. означает на практике. И есть аномалии (разрешенные определениями ANSI), которые могут возникать в READ COMMITTED SNAPSHOT
, которые не могут возникать в READ COMMITTED
. Для примера см. http://www.jimmcleod.net/blog/index.php/2009/08/27/the-potential-dangers-of-the-read-committed-snapshot-isolation-level/ .
См. Также http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/d1b3d46e-2642-4bc7-a68a-0e4b8da1ca1b .
Для получения более подробной информации о различиях между уровнями изоляции начните с http://www.cs.umb.edu/cs734/CritiqueANSI_Iso.pdf ( READ_COMMITTED_SNAPSHOT
не было, когда эта статья был написан, но другие уровни покрыты им).
READ COMMITTED SNAPSHOT
, которые не могут возникать в READ COMMITTED
. Для примера см. http://www.jimmcleod.net/blog/index.php/2009/08/27/the-potential-dangers-of-the-read-committed-snapshot-isolation-level/ .
См. Также http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/d1b3d46e-2642-4bc7-a68a-0e4b8da1ca1b .
Для получения более подробной информации о различиях между уровнями изоляции начните с http://www.cs.umb.edu/cs734/CritiqueANSI_Iso.pdf ( READ_COMMITTED_SNAPSHOT
еще не было, когда эта статья был написан, но другие уровни покрыты им).
READ COMMITTED SNAPSHOT
, которые не могут возникать в READ COMMITTED
. Для примера см. http://www.jimmcleod.net/blog/index.php/2009/08/27/the-potential-dangers-of-the-read-committed-snapshot-isolation-level/ .
См. Также http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/d1b3d46e-2642-4bc7-a68a-0e4b8da1ca1b .
Для получения более подробной информации о различиях между уровнями изоляции начните с http://www.cs.umb.edu/cs734/CritiqueANSI_Iso.pdf ( READ_COMMITTED_SNAPSHOT
не было, когда эта статья был написан, но другие уровни покрыты им).
Он изменяет стратегию блокировки по умолчанию по сравнению с тем, как Sybase / SQL Семейство серверов проработало вечно. Это сломало бы все мои приложения, все приложения, которые я знаю в моем магазине, и повредило бы много важных данных.
Прочтите статью в Википедии полностью : хотите ли вы код, стоящий за ваше банковское приложение, чтобы использовать эту модель изоляции?
В общем, поэтому снимок изоляция ставит некоторые проблемы поддержание нетривиальных ограничений на пользователя, который может не оценить либо потенциальные ловушки, либо возможные решения. Плюс к этому передача повышает производительность.
Это компромисс, как и большинство проектов баз данных. В моем случае я могу иметь дело с ожиданием / взаимоблокировкой блокировок (редко) в качестве платы за более простую и более «нестандартную» целостность данных. Мне еще не приходилось сталкиваться с проблемой или проблемой, в которой я рассматриваю изоляцию снимков как решение.