Здравствуйте,
Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам? Разобрал пару глав по этому вопросу из Фаулера, но думаю может еще что-то почитать чтобы еще получше в вопросе разобраться. Кто что посоветует? Приветствуются ссылки на хорошие статьи или главы из книг.
Заранее спасибо.
Re: Посоветуйте что почитать по основам concurrency и блокир
Я имел в виду не многопоточное/многопроцессорное программирование, а параллельную работу с данными в многопользовательских приложениях (бизнес приложениях), т.е. разные оптимистические, пессимистические и другие блокировки, их реализацию, дизайн проекта/инфраструктуры для работы с блокировками, примеры, подводные камни, типичные ситуации и их решения и т.д.
Re: Посоветуйте что почитать по основам concurrency и блокир
Здравствуйте, MozgC, Вы писали:
MC>Здравствуйте, MC>Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам? Разобрал пару глав по этому вопросу из Фаулера, но думаю может еще что-то почитать чтобы еще получше в вопросе разобраться. Кто что посоветует? Приветствуются ссылки на хорошие статьи или главы из книг. MC>Заранее спасибо.
Кое-что есть в "Enterprise Integration Patterns", но тоже немного.
В основном -- блоги, блоги, блоги и статьи Вот несколько этих человеков:
Rob Connery, Oren Einy, Kent Beck, Fabio Maulo, Frans Bouma, статьи от Udi Dahan, обязательно статьи цикла MS Patterns And Practices.
Re[2]: Посоветуйте что почитать по основам concurrency и бло
Здравствуйте, meowth, Вы писали:
M>Кое-что есть в "Enterprise Integration Patterns", но тоже немного.
Хм, а где? Я полистал, вообще ничего не нашел.
M>В основном -- блоги, блоги, блоги и статьи Вот несколько этих человеков: M>Rob Connery, Oren Einy, Kent Beck, Fabio Maulo, Frans Bouma, статьи от Udi Dahan, обязательно статьи цикла MS Patterns And Practices.
А может быть есть какие-то конкретные ссылки в закладках? Я сейчас часа 2 читал их блоги, но по concurrency control применительно к бизнес приложениям нашел очень мало. Вот только пара постов более менее: Concurrency Control Methods. Is there a silver bullet? O/R mappers and concurrency control
и еще штуки 3, которые вообще очень слабо подходят.
По первому посту там вообще в принципе слабенький пост. Если своими словами пересказать, то автор говорит о том что оптимистическая блокировка это плохо, т.к. пользователь якобы теряет результат своей работы (что совсем не обязательно, к тому же можно добавить и ранние проверки), а потом своими словами описывает решение, которое на деле является высокоуровневой пессимистической блокировкой.
Re: Посоветуйте что почитать по основам concurrency и блокир
Здравствуйте, MozgC, Вы писали:
MC>Здравствуйте, MC>Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам? Разобрал пару глав по этому вопросу из Фаулера, но думаю может еще что-то почитать чтобы еще получше в вопросе разобраться. Кто что посоветует? Приветствуются ссылки на хорошие статьи или главы из книг. MC>Заранее спасибо.
Ну, лучше бы тебе написать в форум по базам данных, а не в архитектуру...
Очень здорово описана теория по параллельной работе и блокировкам у Криса Дейта в его книге "Введение в системы баз данных", глава 16 (взять можно здесь).
Если вдруг не хватит, то в этой же главе есть исчерпывающий список литературы для дальнейшего чтения и развития. Но думаю, до этого не дойдет. Дейт эту тему расписал полно и толково.
Re[2]: Посоветуйте что почитать по основам concurrency и бло
ST>Очень здорово описана теория по параллельной работе и блокировкам у Криса Дейта в его книге "Введение в системы баз данных",
Не, Дейт как раз не очень, он все-таки совсем теоретик...
Мы уже победили, просто это еще не так заметно...
Re: Посоветуйте что почитать по основам concurrency и блокир
Здравствуйте, MozgC, Вы писали:
MC>Здравствуйте, MC>Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам? Разобрал пару глав по этому вопросу из Фаулера, но думаю может еще что-то почитать чтобы еще получше в вопросе разобраться. Кто что посоветует? Приветствуются ссылки на хорошие статьи или главы из книг.
Здравствуйте, meowth, Вы писали:
M>Rob Connery, Oren Einy, Kent Beck, Fabio Maulo, Frans Bouma, статьи от Udi Dahan, обязательно статьи цикла MS Patterns And Practices.
Тока эта, тут аккуратнее надо... Что Орен, что Франс — обладают той еще шершавостью языка, так что делить что они рассказывают надо минимум на два.
Мы уже победили, просто это еще не так заметно...
Re[3]: Посоветуйте что почитать по основам concurrency и бло
Здравствуйте, IB, Вы писали:
IB>Здравствуйте, meowth, Вы писали: M>>Rob Connery, Oren Einy, Kent Beck, Fabio Maulo, Frans Bouma, статьи от Udi Dahan, обязательно статьи цикла MS Patterns And Practices. IB>Тока эта, тут аккуратнее надо... Что Орен, что Франс — обладают той еще шершавостью языка, так что делить что они рассказывают надо минимум на два.
Это да, там временами "сегодня одно, завтра другое", но иметь в виду все равно полезно. Хотя бы набрасывать семплы по тому, что они говорят, и смотреть как оно на самом деле. Сам все равно обо всем не передумаешь, а тут тебе подскажут, куда покопать стоит.
Впрочем, именно про БД у них мало что есть, если топикстартера именно это интересует (честно говоря, так и не понял, что он хочет). Ну у Файлера, что он в пример привел, тоже про мехнику БД исчезающе мало.
Re[3]: Посоветуйте что почитать по основам concurrency и бло
Здравствуйте, IB, Вы писали:
IB>Не, Дейт как раз не очень, он все-таки совсем теоретик...
Наверное соглашусь. Прочитал главу из Дейта, пишет в принципе неплохо, дает некоторую полезную теорию, но зачастую оторвано от практики, от того как это на самом деле сейчас есть в современных СУБД.
Re[2]: Посоветуйте что почитать по основам concurrency и бло
Спасибо, первые 2 скачал, почитаю. Хотя начинает мне казаться что я заморачиваюсь и что в подавляющем большинстве случаев (особенно в небольших и средних проектах) используются знакомые оптимистические и пессимистические блокировки, нет?
Re[3]: Посоветуйте что почитать по основам concurrency и бло
Здравствуйте, MozgC, Вы писали:
MC>Спасибо, первые 2 скачал, почитаю. Хотя начинает мне казаться что я заморачиваюсь и что в подавляющем большинстве случаев (особенно в небольших и средних проектах) используются знакомые оптимистические и пессимистические блокировки, нет?
Ну в целом оно конечно да, только я все больше убеждаюсь, что под оптимистическими и пессимистическими блокировками каждый имеет ввиду что-то свое...
Вообще все зависит от конкретного сценария и общих требований к приложению, где-то (в большинстве случаев) можно расслабиться и обеспечить минимальную синхронизацию, а где-то надо по жесткому и вылизывать каждый краевой случай. Собственно, ровно про это и стандартные уровни изоляции в БД — все что ниже честного SERIALIZABLE — договоренность между разработчиком и СУБД "ты не делаешь того-то и того-то и тогда ничего страшного не случится".