Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PharoDAYS 2015: Connecting to Databases by Norbert Hartl

46 views

Published on

PharoDAYS 2015: Connecting to Databases by Norbert Hartl

Published in: Technology
  • Login to see the comments

  • Be the first to like this

PharoDAYS 2015: Connecting to Databases by Norbert Hartl

  1. 1. Connecting to Databases Norbert Hartl 2denker
  2. 2. Not so fast!
  3. 3. Mostly Immense Schema Migrations And Terrible Coding Habits
  4. 4. Good Object Oriented Design and Fine Iterative Techniques
  5. 5. Why a database? Everything that can store data is a database
  6. 6. Why a database? Everything that can store data is a database persist
  7. 7. Why a database? Everything that can store data is a database persist share
  8. 8. Why a database? Everything that can store data is a database persist share data does not fit in memory
  9. 9. Why a database? Everything that can store data is a database persist share data does not fit in memory concurrent access
  10. 10. Pharo database if you just need it persisted Smalltalk image snapshot: true andQuit: false
  11. 11. Persist outside of image image might break move data between images share data
  12. 12. Fuel if you want to store data outside the image FLSerializer serialize: myModel toFileNamed: ‚model.fl‘ persists whole graph is quite fast
  13. 13. PUnQlite if there is more data than memory just a library, no server is a key-value store supports transactions (PqDatabase open: ‚model.db‘) at: ‚foo‘ put: ‚bar‘; close
  14. 14. Voyage/Mongo Serializes objects to JSON can be tuned using magritte descriptions (VOMongoRepository database: 'foo') enableSingleton MyClass new property: ‚value’; save. MyClass selectMany: [ :each | each property = ‚value‘ ]
  15. 15. Plenty of options Phriak Voyage2 with new backends (Riak, anyone? ) SQLite, SandstoneDB, ….
  16. 16. RDBMS Guille?

×