• Like
GemStone/S Indexed Collection Primer
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

GemStone/S Indexed Collection Primer


Title: GemStone/S Indexed Collection Primer …

Title: GemStone/S Indexed Collection Primer
Speaker: Dale Henrichs
Thu, August 21, 12:00pm – 12:30pm

Video Part1: https://www.youtube.com/watch?v=XvLFwJfn-uQ
Video Part2: https://www.youtube.com/watch?v=wd_b0k3732I

Abstract: GemStone/S indexes provide a way to locate specific objects in a collection by value. Indexing a Collection creates internal structures such as balanced trees (Btrees). Only a few message sends are needed to lookup a value or range of values in the indexing structures. When collections are indexed, they can return results without having to iterate the collection or send messages to each object.

In this talk Dale will provide a detailed overview of the capabilities of GemStone/S indexes.

Bio: Dale Henrichs has been working in Smalltalk since 1985 when he developed an internal application on the Tektronix 4404. The internal application was used at Tektronix for at least 25 years and may still be in use today! Since 1985 he has been lucky enough to work in Smalltalk nearly full-time, spending the last 15 years at GemStone give or take a couple of years.

Published in Software
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Video Part1: https://www.youtube.com/watch?v=XvLFwJfn-uQ
    Video Part2: https://www.youtube.com/watch?v=wd_b0k3732I
    Are you sure you want to
    Your message goes here
    Be the first to like this
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. GemStone/S Indexed Collection Primer Dale Henrichs GemTalk Systems ESUG 2014
  • 2. Why Indexes? Efficient Query Execution! 1.6M element population (8300 element result set): 3800ms - select block query 10ms - indexed query
  • 3. GemStone/S Indexes ! • Indexes are built against UnorderedCollections • Indexes are based on the instance variables of the objects in the collection. • Indexes are automatically updated when instance variables are changed • Indexes use B-trees for efficient equality-based lookup
  • 4. Query derived from select expression
  • 5. Query Predicates
  • 6. Query variable binding and execution
  • 7. Index derived from Query
  • 8. Last ElementClass • Expected class of last element in path term • Any class that responds to comparison messages (< > <= >= = ~=) can be used • “Basic” Classes cache representative values in B-tree and are restricted to #isKindOf:.
  • 9. Additional Path Terms and Operators
  • 10. Index Options
  • 11. Query Evaluation Options
  • 12. Query Object Model
  • 13. GsDevKit Tutorial
  • 14. Futures • We intend to open source the Query API and implementation • Hasso Plattner Institut Senior project to port the Query API to Squeak
  • 15. Resources • GemTalk Systems • http://gemtalksystems.com/ • GsDevKit GitHub project • https://github.com/GsDevKit/gsDevKitHome#open-source-development-kit-for-gemstones-64-bit- • GsDevKit Indexing tutorial (mail me for availability of tutorial) • https://github.com/GsDevKit/gsDevKitHome/projects/indexSample/README.md#index-sample