Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Data Migrations with MagLev MagLev is a Ruby implementation built on top of a VM which offers native object persistence - you are able to persist plain Ruby objects (including procs and lambdas) and then see and use them from any other connected VM. We are now using MagLev in production and have already learned some good lessons on working with and migrating these committed objects long term. Come and hear about recent MagLev updates and and appreciate the following quote on another level: I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby. -- Kent Beck
Date
Summary
Markdown supported
The video titled "Data Migrations with MagLev," presented by JohnnyT at LA RubyConf 2015, focuses on the features and capabilities of MagLev, a Ruby implementation built on the Gemstone S virtual machine. The presentation begins with an introduction to MagLev, which allows for object persistence without the need for complex object-relational mapping, hence simplifying the data handling process. The following key points are discussed throughout the presentation: - **Introduction to MagLev**: MagLev is a Ruby implementation utilizing the Gemstone S VM, known for its long-standing reputation and suitability for large-scale data operations. - **Key Features**: MagLev offers significant features, including: - Simplified persistence of native Ruby objects. - Management of caching and validation. - Transactional memory, ensuring that operations are safely committed or aborted. - **Data Persistence**: The speaker illustrates how persistence works in practice through live demonstrations, showcasing how different Ruby objects, including procs, can be persisted within the MagLev environment. MagLev’s reachability mechanism helps define which objects should be persisted, enhancing convenience in data sharing across VMs. - **Migrations**: The presentation delves into practical migration examples, such as adding a published date to blog posts. The migration process is clarified by demonstrating how to batch-update objects that lack certain attributes, thus improving the data model while maintaining functional integrity. - **Code Migrations**: An example involving the restructuring of a blog post class illustrates how to effectively perform object migrations while retaining references to existing persisted data. - **Current Updates on MagLev**: The speaker shares insights on the state of the MagLev project, discussing past halts in development due to company acquisition, but highlights current work aimed at production deployment, including improvements for compatibility with Ruby 1.9.3. Additionally, the speaker notes the significance of community involvement in enhancing documentation and onboarding processes for new users. The video concludes with an open Q&A session, addressing user concerns about ease of use, commit conflict resolution, and the management of object IDs, reiterating the accessibility of MagLev for Ruby developers, regardless of prior Smalltalk experience. Overall, the audience gains insight into the potential of using MagLev for data migrations, while also learning about the project's ongoing development and community support.
Suggest modifications
Cancel