ten minutes on incremental database development with dataclass

Download Ten Minutes on Incremental Database Development with DataClass

If you can't read please download the document

Upload: max-guernsey

Post on 14-Jun-2015

598 views

Category:

Technology


2 download

DESCRIPTION

A brief overview of what the real big problems with database development are and how DataClass (http://dataclass.hexsw.com) can help.

TRANSCRIPT

  • 1. Incremental Database Development with DataClass

2. Covered in this Session

  • Kinds of Big Problem

3. High-level solutions 4. How DataClass helps 5. Problems

  • Deployment
  • Database designs change over time

6. Existing databases must be upgraded Duplication

  • Clients duplicate strings in database

7. No compiler checks Design

  • Clients couple to designs that can change

8. How do you keep clients coupled to correct design? 9. The Correct Deployment Model

  • Define databases in terms of versions to start

10. Each version has a transition

  • Steps to get from previous version

Upgrades traverse through all versions

  • v3 -> v7 = v3 -> v4 -> v5 -> v6 -> v7

Empty databases upgrade fast 11. Full ones must all march to the same drummer 12. Correct Deployment Model Ex. 13. Correct Deployment Model Ex. 14. Correct Deployment Model Ex. 15. Correct Deployment Model Ex. 16. Correct Deployment Model Ex. 17. Correct Deployment Model Ex. 18. Correct Deployment Model Ex. 19. Correct Deployment Model Ex. 20. Correct Deployment Model Ex. 21. Correct Deployment Model Ex. 22. Correct Deployment Model Ex. 23. Correct Deployment Model Ex. 24. Correct Deployment Model Ex. 25. Correct Deployment Model Ex. 26. Correct Deployment Model Ex. 27. DataClass Solves It!

  • DataClass generates classes to build DB

28. They automatically inspect & upgrade 29. Bonus: Tamper-resistance features 30. Duplication Solution

  • Problem: Construction == Design

31. Solution: Separate design out 32. New problem: Dup. Between construction & design? 33. Solution: Let construction depend on design 34. Ideal Design (No Duplication) DB 35. Ideal Design (No Duplication) DB DB Design 36. DataClass Solves It

  • Generates DLL with property for every symbol

37. Breaking DB design change? 38. Compiler error! 39. Mistype a DB symbol? 40. Compiler error! 41. Bonus: sprocs look like methods 42. Bonus: proxies make DB look like normal object 43. Coupling Solution

  • Metadata for each version in a class
  • Past

44. Present (up to one) 45. In work (future, up to one) Clients can couple to specific version

  • Especially useful for transition tests

Clients can couple to Current version 46. Clients can couple to in work version 47. Using Lenses 48. Using Lenses 49. Using Lenses 50. Using Lenses 51. Using Lenses 52. Using Lenses 53. Using Lenses 54. Using Lenses 55. DataClass Solves It!

  • Allows declaration of one current version

56. Infers up to one in work version 57. Clients can couple to generated lenses 58. Puts control of currency in DB 59. Summation

  • DataClass solves the three big problems:
  • How do I keep current?

60. How do I prevent duplication? 61. How do I upgrade or build new Dbs? DataClass upskills developers

  • Automates the mindless work

62. Still need a mind to do the design 63. Where to Find It For more information go to: http://dataclass.hexsw.com