Preview

Труды Института системного программирования РАН

Расширенный поиск

Web-приложения и данные: проблемы абстракции и масштабируемости

https://doi.org/10.15514/ISPRAS-2012-23-10

Аннотация

Сегодня всё чаще звучит утверждение, что универсальных хранилищ данных не существует. Несмотря на то, что SQL-ориентированные системы управления базами данных (СУБД) широко применялись и применяются сегодня, масштабирование приложений при использовании этих систем сильно затруднено. В связи с этим появилось много различных хранилищ данных, стремящихся соответствовать требованиям современных высоконагруженных Web-приложений. В настоящее время наблюдается тенденция к использованию нескольких технологий и систем в рамках одного приложения для решения различных задач. В данной статье рассматриваются основные подходы к реализации доступа к данным и проблемы абстракции от используемых хранилищ, а также предлагаются некоторые принципы организации слоя работы с данными при использовании нескольких хранилищ данных разного типа.

Об авторе

Андрей Посконин
ИСП РАН
Россия


Список литературы

1. M. Fowler, Patterns of Enterprise Application Architecture, Addison Wesley, 2002.

2. «Zend Framework», [В Интернете]. URL: http://framework.zend.com/.

3. «Hibernate - Relational Persistence for Java and .NET», [В Интернете]. URL: http://hibernate.org/.

4. «Doctrine Project», [В Интернете]. URL: http://www.doctrine-project.org/.

5. «The case against ORM Frameworks in High Scalability Architectures», 2008. [В Интернете]. URL: http://highscalability.com/blog/2008/2/2/the-case-against-orm-frameworks-in-high-scalability-architec.html.

6. J. Miller, «Design Patterns for Data Persistence», 2009. [В Интернете]. URL: http://msdn.microsoft.com/en-us/magazine/dd569757.aspx.

7. A. Wiggins, «SQL Databases Don't Scale», 2009. [В Интернете]. URL: http://adam.heroku.com/past/2009/7/6/sql_databases_dont_scale/.

8. D. Obasanjo, «Building scalable databases: Denormalization, the NoSQL movement and Digg», 2009. [В Интернете]. URL: http://www.25hoursaday.com/weblog/2009/09/10/BuildingScalableDatabasesDenormalizationTheNoSQLMovementAndDigg.aspx.

9. S. Francia, J. Hileman, «Augmenting RDBMS with MongoDB for eCommerce», 2011. [В Интернете]. URL: http://www.nosqldatabases.com/main/2011/4/11/augmenting-rdbms-with-mongodb-for-ecommerce.html.

10. D. Florescu, D. Kossmann, «Rethinking Cost and Performance of Database Systems», ACM SIGMOD Record, т. 38, № 1, 2009.

11. E. Brewer, «Towards Robust Distributed Systems», в ACM Symposium on the Principles of Distributed Computing, Portland, Oregon, 2000.

12. S. Gilbert, N. Linch, «Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services», 2002.

13. D. Abadi, «Problems with CAP, and Yahoo’s little known NoSQL system», 2010. [В Интернете]. URL: http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-and-yahoos-little.html.

14. W. Wogels, «Eventually Consistent,» ACM Queue, т. 6, № 6, 2008.

15. H. Wada, A. Fekete, L. Zhaoy, K. Lee, A. Liu, «Data Consistency Properties and the Tradeoffs in Commercial Cloud Storages: the Consumers’ Perspective» в Conference on Innovative Data Systems Research, 2011.

16. «MongoMapper», [В Интернете]. URL: http://mongomapper.com/.

17. R. Cattell, «Scalable SQL and NoSQL Data Stores», 2011. [В Интернете]. URL: http://www.cattell.net/datastores/Datastores.pdf.

18. А. В. Посконин, «Новые направления в развитии СУБД: компромисс как основа архитектуры» в Тезисы лучших дипломных работ факультета ВМК МГУ 2011 года, Москва, 2011.

19. «MongoDB», [В Интернете]. URL: http://www.mongodb.org/.

20. «Membase Server», [В Интернете]. URL: http://www.couchbase.com/membase.

21. M. Stonebraker, U. Çetintemel, «“One Size Fits All”: An Idea Whose Time Has Come and Gone» в ICDE ’05: Proceedings of the 21st International Conference on Data Engineering, Washington, 2005.

22. M. Fowler, «Polyglot Persistence», 2011. [В Интернете]. URL: http://martinfowler.com/bliki/PolyglotPersistence.html.

23. A. Snell-Pym, «One Database, Many Interfaces: A Look at SQL/NoSQL Integration Using GenieDB», Cloudbook Journal, т. 2, № 1, 2011.

24. «Tungsten Replicator», [В Интернете]. URL: http://continuent.com/solutions/tungsten-replicator.

25. M. Fowler, «Command Query Responsibility Segregation», 2011. [В Интернете]. URL: http://martinfowler.com/bliki/CQRS.html.

26. «NoRM - MongoDB Driver for .NET», [В Интернете]. URL: https://github.com/atheken/NoRM.

27. «DataMapper - Ruby Object Relational Mapper», [В Интернете]. URL: http://datamapper.org.


Рецензия

Для цитирования:


Посконин А. Web-приложения и данные: проблемы абстракции и масштабируемости. Труды Института системного программирования РАН. 2012;23. https://doi.org/10.15514/ISPRAS-2012-23-10

For citation:


Poskonin A. Web applications and data: achieving abstraction and scalability. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2012;23. (In Russ.) https://doi.org/10.15514/ISPRAS-2012-23-10



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)