Database Management for Smalltalk

Summary

Summary of Features

  • VOSS gives transparent access to persistent Smalltalk objects in named virtual spaces. Virtual objects may be distributed amongst multiple virtual spaces to localize access and optimize network usage, volatility and garbage-collection.
  • Existing application classes may be made virtual with full granularity control.
  • Transactions which change virtual objects have full ACID properties through two-phase commit, logging and rollforward crash recovery, protecting database integrity against unhandled exceptions, operating system crashes or random power failure. Transactions may include objects in any number of virtual spaces and may be created explicitly open-ended or implicitly by atomic evaluation of Smalltalk blocks, nested as required under the default Top open transaction of each Smalltalk process enabled by a VOSession.
  • Transactions may be Versioning, retaining historical states for MVRC/MVCC.
  • Continuation Transactions are expected to be used for exploratory ‘what-if’ and design applications, and/or management of multiple, timestamped, web-browser pages which reference some or all of the same objects. Continuation Transactions, with their sets of alternative futures, may be persisted whilst remaining open (’Long Transactions’), allowing repeated shutdown and restart during long application tasks.
  • Transparent object-level locking allows multiprocessing and network-wide access with a high degree of concurrency even for long interactive transactions, and block-structured transactions have automatic rollback and retry on deadlock timeout. Explicit individual object locking is available for hotspot optimisation etc.
  • Continuous lock retry until time-out relieves the application from handling temporary lock conflicts.
  • User-specified transaction degree of isolation.
  • Transactions may be nested and there are no lock conflicts between nested transactions and their parents. This is essential for normal method re-use, allowing existing methods which start new transactions to be freely called from others without lock conflicts. Nested transactions commit or rollback from the inside out and there is full rollback on un-handled exception.
  • Virtual B-tree collections provide efficient access to large numbers of objects. These include the multi-key/multi-value/key-set VirtualDictionarySet with query-building methods. Keying on method selectors rather than instance variables allows query drill-down without the need for special language syntax extensions.
  • VOSS may be installed on either the desktop client and/or on the server. Server page caching is fully utilized and pre-allocation and instantiated object caches with transparent timestamp-controlled refresh reduce disk access.
  • Database Administration facilities provide for current user query, forced log-off and management of backup, restore, transaction logging, rollforward, flushing, garbage-collection etc.
  • Concurrent background garbage-collection avoids down-time for an otherwise lengthy operation and the garbage-collection workload may be balanced around the network as required, according to machine usage and locality, with visible progress indication.
  • Maximum size of each virtual space and number of objects in it are user-configurable up to 2^128, within file system limits.
  • There is no hard limit on the number of concurrent users per virtual space nor any storage overhead per object per user.
  • Dynamic class token allocation for compact storage requires no management and allows classes to be renamed by an ordinary transaction. For more complex changes, an application may replace objects with instances of re-shaped classes using virtual objects’ identity-exchange feature.
  • Virtual objects have facilities for access to their historical versions via timestamp or enumeration, parented copying (i.e. system-maintained hidden references between parent and chidren), identity-exchange, low-level poke etc. for special application requirements.
  • Dynamically loadable at runtime to minimize memory requirements.
  • Documentation includes interactive tutorial with examples of major functions and a discussion of object database design in Smalltalk.





 
cialis cod buy fioricet with codeine buy mulberry grey hobo adipex non prescription phentermine effectiveness medicin depression buy christian louboutin black petal crepe sandals tramax tramadol ultram drug test dice games instructions phentermine in florida buy proscar no prescription gambling resource pain medication ultram drug zolpidem buy soma where phentermine without rx fendi black leather peekaboo bag accutane and results no rx pharmacy viagra cheap prescription cialis in stock poker ambien symptoms cheap prescription drug women's health online weight loss program clomid pill salvatore ferragamo pink varina ballet shoes prescription drugs generic medicines brand product gucci black monogram handbag levitra professional international mail order buying viagra online in britain revatio cost pharmacy mexico fat burning pills that really work house of bingo download mexico pain meds uk casino online weight loss pill helps digestion casino game online play online poker software klonopin half life christian louboutin black sequins helmut pumps canada cialis online non prescription relief for severe pain cialis prescription burberry black check low top trainers caribbean stud poker clonazepam recreational mecca bingo online gambling bonuses mylan xanax christian louboutin globe 100 suede boots blackjack game funny casino chip how does cialis work cheap phentermine no prescription needed soma overdose weight loss home remedies video online slots lexapro paxil gucci brown boots phentermine 37.5 overnight delivery generic tadalafil casino 770 gel viagra blackjack sites craps strategy augmentin cheap cheap phentermine and adipex without perscription chanel patent pink ballerina flats american casino jimmy choo red perforated ornament lohla bag buy prescription drugs with no prescription lancel golden wrinkle premier flirt discount sildenafil where to play bingo hoyle casino cheap generic viagra online hydroxyzine hcl 25 lasix diuretics effects carisoprodol natural appetite suppressants viagra online best price online casino register valium on line casino slots online weight loss supplement diet pill lancel black wrinkle premier flirt cartier black shoulder bag valium cheap professional blackjack buy cialis delived next day cialis free sample canada find tadalafil generic soma tory burch deep blue tory logo rain boots cialis vs cialis professional buy a weight loss program bingo gambling drugs on line gambling online sites christian louboutin black sequins very prive pumps herbal weight loss buy zolpidem canadian prescription drugs saints and sinners bingo carisoprodol no prescription no deposit casino bonus code pheromones for sale gala bingo online no prescription needed online pharmacies cialis day next jimmy choo beige perforated ornament lohla bag buying medications online without a prescription back pain pills prada grey stitched wallet canada cialis generic cymbalta vs effexor fendi light coffee monogram handbag appetite suppressant buy high stakes poker discount plavix ultram online prescription cialis dosages valentino blue snakeskin clutch louis vuitton monogram vernis white roxbury drive drugs used in treating depression find tadalafil valium without a prescription super poker gambling systems can women take viagra phentermine no prescriptions generic nexium miu miu crimson shoulder bag order levitra on line how fast does meridia work methylprednisolone purchase celine black shoulder bag ultram best price phentermine hci bingo games on pc tylenol with codeine dose buy prescription drugs xanax cialis prescription ultram effects meridia no rx poker canada givenchy blue shoulder bag