Successfully reported this slideshow.
Your SlideShare is downloading. ×

Voyage Reloaded - New features and backends in the document-database

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Voyage ∞
( I don’t know what to put here :) )
Esteban Lorenzano
(The Pharo fireman)
Self-promotion
Pharo core developer, payed by the Pharo Consortium
and INRIA (Thanks!)
Also author of some frameworks, bet...

YouTube videos are no longer supported on SlideShare

View original on YouTube

Loading in …3
×

Check these out next

1 of 31 Ad

Voyage Reloaded - New features and backends in the document-database

Download to read offline

Voyage Reloaded - New features and backends in the document-database
Wed, August 24, 2:45pm – 3:30pm

youtube: https://youtu.be/sYFAwjpCFKA


First Name: Esteban
Last Name: Lorenzano
Email: estebanlm@gmail.com
Title: Voyage Reloaded - New features and backends in the document-database framework for Pharo.
Type: Talk

Abstract: Voyage is an Object-Document Mapper developed since 2010 to provide a nice framework for using document-databases. This talk is an update about
latest features added along with an overview of the new backend incorporated (unqlite).

Bio: Esteban Lorenzano, 44 years. Programmer since ever, Full-time Smalltalker since 2007 and Pharo enthusiast since almost its every beginning, after
owning his own company and spend some years teaching at different universities in Argentina, he currently leads de development of Pharo itself, at the
RMoD team of INRIA (France)

Voyage Reloaded - New features and backends in the document-database
Wed, August 24, 2:45pm – 3:30pm

youtube: https://youtu.be/sYFAwjpCFKA


First Name: Esteban
Last Name: Lorenzano
Email: estebanlm@gmail.com
Title: Voyage Reloaded - New features and backends in the document-database framework for Pharo.
Type: Talk

Abstract: Voyage is an Object-Document Mapper developed since 2010 to provide a nice framework for using document-databases. This talk is an update about
latest features added along with an overview of the new backend incorporated (unqlite).

Bio: Esteban Lorenzano, 44 years. Programmer since ever, Full-time Smalltalker since 2007 and Pharo enthusiast since almost its every beginning, after
owning his own company and spend some years teaching at different universities in Argentina, he currently leads de development of Pharo itself, at the
RMoD team of INRIA (France)

Advertisement
Advertisement

More Related Content

Advertisement
Advertisement

Voyage Reloaded - New features and backends in the document-database

  1. 1. Voyage ∞ ( I don’t know what to put here :) )
  2. 2. Esteban Lorenzano (The Pharo fireman)
  3. 3. Self-promotion Pharo core developer, payed by the Pharo Consortium and INRIA (Thanks!) Also author of some frameworks, between them Voyage
  4. 4. So, let’s talk about Voyage
  5. 5. Ouch!
  6. 6. The Voyage goal To be the GLORP for NOSQL databases We are doing fine :)
  7. 7. Voyage-Mongo update Replica set support (next week) Version generators Conflict handling support Better serialisation support Better error handling support
  8. 8. Voyage-Tugrik GemStone backend for big databases (and all the power of a GemStone/S) See previous talk ;)
  9. 9. But what happens when your your needs are not so big? Not even big for MongoDB? (After all, it requires a server installed). What happens when you do not need more than an embedded database?
  10. 10. Voyage-UnQLite Embeddable database in the “Voyage” style. Yet easy to migrate to higher needs. Uses PunQLite driver
  11. 11. UnQLite features Serverless Transactional Single database file Key/Value and document Jx9 Cross-platform Thread safe and full reentrant Support terabyte sized databases BSD License
  12. 12. PunQLite driver First developed by Masashi Umezawa (@mumez), as a key-value database. Extended (by me) to support collections and JSON structures. As MongoTalk, is an standalone driver you can use without Voyage (but using Voyage is cool ;)
  13. 13. Voyage-UnQLite vocabulary Object>>save Object>>remove Object class>>selectOne: Object class>>selectMany: (and family) Object class>>selectAll Object class>>removeAll
  14. 14. Voyage-UnQLite query language UnQLite uses an UFFI callback to decide if a document matches, then is just block evaluation. Very powerful Very dangerous No equivalent of MongoQueries for the moment, but you can access the raw dictionary.
  15. 15. Idiom extensions <voyageDescription> <voyageDescriptionPlatforms: #()> <voyageContainerPlatforms: #()> <mongoDescription> and <mongoContainer> are now deprecated (but they are still there for backward compatibility)
  16. 16. The heroic DEMO
  17. 17. (VOUnQLiteRepository on: 'demo.db') enableSingleton.
  18. 18. (Hero named: 'Spiderman') level: 20; addPower: (Power named: 'Super strenght'); addPower: (Power named: 'Wall climbing'); addPower: (Power named: 'Spider instinct'); save.
  19. 19. (Hero named: ‘Iron-man') level: 20; addEquipment: (Armor new addItem: Pistol new; yourself); save.
  20. 20. Hero selectAll. Hero selectOne: [ :each | (each at: 'level') > 5 ]. regex := '.*woman.*' asRegexIgnoringCase. Hero selectMany: [ :each | regex matches: (each at: 'name') ].
  21. 21. Voyage-UnQLite vs. Voyage- MongoDB JSON, not BSON and certainly not STON String, Number, Object (another dictionary), Array, true, false and null. More use of Magritte-Voyage Callback query gives you access to image when filtering so you can do very complex things…
  22. 22. Future UnQLiteQueries (style MongoQueries) Implement VOUnQLiteRepository>>commit:
  23. 23. Last but not least Collaboration over competition.
  24. 24. Last but not least PharoPro Migration support Custom development (frameworks, etc.) everything you need, even coffee :) You are not alone, nor by yourself… we are here to help
  25. 25. Summary With Voyage-UnQLite we are now capable to work with embedded databases. Voyage-UnQLite provides an easy and customisable way, yet easy to scale to bigger solutions if needed.
  26. 26. Thanks! Smalltalk quitSession.

×