The document discusses optimistic record locking as an alternative to pessimistic record locking in FileMaker. It describes how optimistic locking only locks records during commits, reducing server workload compared to locking for the entire edit. The document also presents techniques for implementing optimistic locking, including storing calculations, using commit footprints to track changes, and converting solutions to use local file editing to reduce network traffic. It provides examples showing how these approaches can significantly improve performance.
1. Being an Optimist in a Pessimistic World
10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
www.filemaker-konferenz.com
2. Who am I?
Been developing solutions with FileMaker since FileMaker 2.1
- Certified in versions 7 - 18
- Talented and Diverse Team @ Beezwax 🐝
Things I love…
- Research and Development
- Data Visualization ( Tableau, D3, etc… )
- Hiking
- Sharp Knives
- Architecture
Vincenzo Menanno
5. Less network traffic… translates into.
Less work for the server
Less network traffic on your network
Sending only changed values
Reduce number of locks server needs to manage
Savings if you are using AWS
10. FileMaker pessimistic record locking
Record locked for duration of edit
Server keeps tracks of Locks
Edit happens locally
The whole record is always transported
Record modification count
11. O optimistic record locking
Record locked only for committing data
Server doesn’t have more work
Edits happen on server
Send only changes
Use hashes instead modification counts
Compare with Past, Present & Future
E
^
👻
12. Calculations unstored —> stored
Log Audits
Local editing (many benefits)
And no additional traffic on network
E
^
optimistic record lockingO
there is more…
13. ⚠ WARNING 🚧 🚧🚧 🚧
Percent of Tasked Completed
Project Task
Year
# Projects each Year
Has to have transactional integrity
Last Update 06/16/2019 04:33 PM
Eventual integrity
14. ⚠ WARNING 🚧 🚧 🚧 🚧
Implications (not for everyone)
Solution Complexity
Types of Updates
- Transactional Integrity
- Eventual Integrity
Transactions with FileMaker
15. Test & Measure 🛠
Test out new ideas
Establish a Baseline
Measure
Need built in native tools
- for measurements
- for errors
34. Globals ( popovers and cards )
Local File Editing
Local File Editing (Data API)
The Journey
35. Single Add or Edit
Data validated before creation
Drawback: Multiple Edits
Globals
36. Single Add or Edit
Data validated before creation
Support for multiple edits
Very verbose to put in place
Local File Editing
37. Single Add or Edit but can be multiple
Data validated before creation
Support for multiple edits
Less verbose but more complexity
Local File Editing (Data API)
39. xDifferences between
Techniques Commit footprint / Local file editing
Warnings Important things to consider
Different approaches Global | Local | Data API
MVC Clear separation & easy to implement
Generating Hashes 👻 of past, present, and future
40. Resources
Network Monitor Tool for FileMaker - search for Network Monitor
Transactions Todd Geist - https://www.youtube.com/watch?v=FQzXs9SXt-U
Native Imports on Server - https://blog.beezwax.net/2019/05/22/imports-without-
tariffs-natively-with-filemaker-server/
Greg Lane (Tuesday 2:45 PM) - Maximizing FileMaker Performance
Chris Irvine (concurrently) - Doing it Right: Fast Solutions Developed WAN First
Under the Hood: Exploring FileMaker Server 18’s Performance Features
My recorded DevCon Session https://www.youtube.com/watch?v=g00xNgjKzv0
👻
👻
👻
41. Credits and Images
Slide: Luciano peeking Through - Vince Menanno
Footprint: https://unsplash.com/photos/BqpdGGfezFw
Piano - https://unsplash.com/photos/QNghR29tHR0
Choices - https://unsplash.com/photos/PXB7yEM5LVs
Coffee Test - https://unsplash.com/photos/i22gbC3gFm4
Journey - https://unsplash.com/photos/5hvn-2WW6rY