SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
GemStone/S 64 Update
(with jokes!)
Norm Green
Senior VP & CTO
ESUG 2016
Prague, Czech Republic
24 August 2016
2
Agenda
•  So what is this GemStone thing you speak of?
•  GemStone/S 64 v 3.3
•  GemStone/S 64 v 3.4
•  Licensing Options
3
Q: How can you tell an extroverted
programmer from an introverted
programmer?
A: An extroverted programmer looks
at your shoes when he talks to you.
4
XP Implemented….
5
How Many Have Actually Used
GemStone ?
How Many Have A Good Feel For
What GemStone Is?
6
So What Is This GemStone Thing You Speak Of?
•  A solution to the limitations of traditional Smalltalk:
1.  Object space limited to one VM.
2.  Object space limited to one host.
3.  Object space limited to available RAM.
4.  Object changes (since last image save) lost when VM exits.
7
Welcome To The Magical World Of GemStone!
•  Object space visible to thousands of VMs on
thousands of machines.
•  Object space limited by disk, not RAM.
•  Object changes managed by ACID transactions
–  Atomic
–  Consistent
–  Isolated
–  Durable
•  Object changes guaranteed persistent once committed.
8
Key Features Of GemStone
•  Scalability
–  Billions of objects
–  Thousands of users.
–  Thousands of machines.
–  Thousands of transactions per second.
–  Terabytes of data.
9
Key Features Of GemStone
•  Concurrency
–  Multiple user sessions.
–  Built-in database transactions.
•  Commit
•  Abort
•  Continue
–  Optimistic Concurrency
•  Reduced Conflict Collections
–  Pessimistic Concurrency
•  Object-level read/write locks.
–  Namespaces
•  Shared and private.
10
Key Features Of GemStone
•  Security
–  Object-level security.
•  User, group, world permissions.
–  Login Security
•  Traditional User-id / Password
•  Single-Sign-On (GSSAP/Kerberos) (coming soon)
•  LDAP
•  PAM
–  Administrative Privileges
•  #GarbageCollection
•  #OtherPassword
•  #SystemControl
11
Key Features Of GemStone
•  100% Smalltalk
–  All objects, all the time.
–  Classes, methods, blocks.
–  ANSI Smalltalk compliant (mostly)
12
Key Features Of GemStone
•  Very Large Collection Support
–  Collections of millions of objects.
–  Optimized searches using b-tree Indexes:
•  Equality Indexes (a = b)
•  Identity Indexes (a == b)
13
Key Features Of GemStone
•  Interfaces to Other Smalltalks
–  VisualWorks® - GemBuilder for VisualWorks®
–  VA Smalltalk® - GemBuilder for VA Smalltalk®
–  Pharo – tODE (open source)
•  Interfaces To Other Languages
–  C/C++ - GemBuilder for C
–  Java – GemBuilder for Java
•  Interfaces to Relational Databases
–  Oracle – GemConnect for Oracle
–  Sybase – GemConnect for Sybase (open source)
14
Agile or Fragile?
15
GemStone/S 64 Versions
•  Latest Release: 3.3.1 (June, 2016)
•  Next Major Release: 3.4 (Spring, 2017)
16
GemStone/S 64 3.3
•  Smalltalk Virtual Machine Performance
– Improved native code generation.
– Optimize native code for branch prediction.
– Improved math performance, especially
integer math.
– Average overall improvement:
•  25% faster vs. GS/64 3.2
17
GemStone/S 3.3
•  Faster Tranlog Restore
– Optimize object table generation during
restore.
– ~30% improvement
– Affects:
•  #restoreFromLogs
•  Hot Standby Systems
18
GemStone/S 64 3.3
•  SmallFraction
– New immediate (special) class.
•  Value encoded in the object.
•  Guaranteed canonical.
– Numerator Range:
•  -268435456 to 268435455
– Denominator Range:
•  1 to 134217727
19
GemStone/S 64 3.3
•  GsFile Improvements
– Native UTF8 Support
– Methods Now Implemented as Primitives:
• next
• nextPut:
• _peek:
• _seekTo: opcode:
• isCompressed
• position
20
GemStone/S 64 3.3
•  Support LZ4 Data Compression
–  “LZ4 is lossless compression algorithm, providing
compression speed at 400 MB/s per core (0.16
Bytes/cycle). It also features an extremely fast
decoder, with speed in multiple GB/s per core (0.71
Bytes/cycle).” -http://cyan4973.github.io/lz4/
– Up to 10X faster than zlib (aka gzip).
– Compression ratio slightly worse than zlib.
21
GemStone/S 64 3.3
•  3.3 LZ4 Support:
– Remote Gem to Page Server
– Remote GCI (ST Image) to Gem
– Stone to Remote Shared Page Cache(s)
– Stone to hot standby server(s).
22
GemStone/S 64 3.3
•  Remote Gem to Page Server Encryption
–  Remote Gem to Page Server connection may now
use SSL/TLS.
–  Enabled with new GEM_PGSVR_USE_SSL option.
–  Remote client to Gem connection already uses SSL/
TLS.
23
GemStone/S 64 3.3
•  Start statmonitor automatically
•  Supports various wildcard args from strftime(3)
•  New Configuration parameters:
–  STN_STATMONITOR_ARGS
•  At stone startup
–  GEM_STATMONITOR_ARGS
•  At remote cache startup
–  STN_STATMONITOR_MID_CACHE_ARGS
•  At mid-level cache startup
24
GemStone/S 64 3.3
•  Make pageaudit Command Multi-threaded
–  Used to audit the repository for page-level
consistency.
–  Up to 20 X faster than 3.2
25
GemStone/S 64 3.3
•  Object Canonicalization Framework
–  A framework of classes that may be used to
canonicalize instances of domain classes.
•  AbstractReferencingObjectPolicy
•  ReferencingObjectPolicy
•  CanonicalObjectManager
•  CanonicalObjectPolicy
•  CanonicalObjectRegistry
•  Developed by a GemTalk – Customer
partnership.
26
GemStone/S 64 3.3
•  Page Server Changes
–  Previously (before 3.3)
•  1 process (page server) is started for 1 remote gem.
•  3000 sessions == 3000 page servers!
•  Page Table Memory Problems (especially Linux)
–  Now (3.3 and later)
•  1 page server process is started for *all* gems on a remote
host.
•  1 thread is started for 1 remote gem.
•  Each remote gem uses 1 native thread in the page server.
3.2 Architecture
27
Gem1
Gem2
Gem3
Gem1
Page Server 1
Page Server 2
Page Server 3
Remote Gem Host Stone Host
Stone
3.3 Architecture
28
Gem1
Gem2
Gem3
Gem1
Remote Gem Host Stone Host
Stone
Thread 1
Thread 2
Thread 3
Page Server 1
29
GemStone/S 64 3.3
•  Cache Warming With Mid Caches
–  Leaf Caches may now use mid caches during cache
warming.
–  Advantageous for highly distributed, cloud based
architectures.
GemStone Cloud Architecture
30
Storage
Remote Data Center (Cloud) Main Data Center
StoneMain CacheMid-Level Cache
Leaf Cache 1 Leaf Cache 2
Leaf Cache 3
Slow WAN
Gem
Gem
Gem
SSL / TLS
31
O-O Programming
32
GemBuilder for……..Android?!?
•  Experimental Project to Access GemStone from
Android Devices
•  Uses GemBuilder for Java (GBJ)
(OpenSSL)
33
GbjTest App on Android
Login
Screen
34
GbjTest App on Android
Command
Execution
35
Android Test App Source Code
•  Application Code:
–  ftp://ftp.gemtalksystems.com/pub/GBJ/GbjTest.zip
•  Contact:
– bill.erickson@gemtalksystems.com
36
VSD 5.2
•  Faster load times on
Windows
•  New End Time Column
•  Column Sort Arrows
•  Secondary Sort Column
•  Support for LZ4
compressed files.
37
GemStone/S 64 Platforms
•  Object Server (Database)
–  Linux x86_64
–  Apple Darwin 64 bit
–  Oracle Solaris amd64
–  Oracle Solaris SPARC 64 bit
–  IBM AIX PowerPC 64 bit
38
GBS Platforms
•  Cincom® VisualWorks® 7.10.1 / 8.1.1
–  MS Windows 7/8 32 bit
–  MS Windows 7/8/10 64 bit
–  Linux 32/64 bit
–  Solaris SPARC 32/64 bit
•  Instantiations VA Smalltalk™ 8.6.2
–  MS Windows 7/8 32 bit
39
GemStone/S 64 3.4
•  More lz4 Support:
– Statmonitor
– VSD
– Copydbf
– Backup/Restore
– Smalltalk Access (GsFile ? FileSystem ?)
40
GemStone/S 64 3.4
•  Encrypted Backups and Tranlogs
– AES 128, 192 or 256 bit encryption
– Public / private key pair
– Passphrase
– Secure Signing (MAC)
41
GemStone/S 64 3.4
•  OpenSSL 1.1.x
– Still in beta
– Will be supported once 1.1 is final
42
GemStone/S 64 3.4
•  Improved findReferencePath methods
– GemStone uses “persistence by reachability”
– Finds all references paths for a list of
objects.
– Now multi-threaded
43
GemStone/S 64 3.4
•  GIT Support in Base Image
– Cypress Project
– https://github.com/CampSmalltalk/Cypress
44
GemStone/S 64 3.4
•  Single Sign On (SSO) Support
– GSSAPI / Kerberos (UNIX)
– SSPI (Windows)
– Service Name: “GEMSTONE64”
•  Database Login
– Enable UserProfile For SSO
•  Process Creation
– Enable NetLDI for SSO
45
GemStone/S 64 3.4
•  SSO Database Login Setup
1.  Create UserProfile and KerberosPrincipal objects
run
|profile kp|
profile := AllUsers addNewUserWithId: 'normg' password:
swordfish' .
kp := KerberosPrincipal newPrincipalWithName:
'normg@GEMTALKSYSTEMS.COM'
loginUserProfile: profile .
profile enableSingleSignOnAuthenticationWithPrincipal: kp .
%
commit
46
GemStone/S 64 3.4
•  SSO Database Login Setup
2.  Add the Kerberos keytab file to the
GemStone configuration file.
echo "GEM_KERBEROS_KEYTAB_FILE = /common/gemtalk.keytab;"
>> $GEMSTONE/data/system.conf
47
GemStone/S 64 3.4
•  SSO Database Login Setup
3.  If UNIX login does not use Kerberos, get a
ticket using kinit.
normg@bunk>kinit
Password for normg@GEMTALKSYSTEMS.COM: xxxxxxxx
normg@bunk>klist
Ticket cache: FILE:/tmp/krb5cc_300
Default principal: normg@GEMTALKSYSTEMS.COM
Valid starting Expires Service principal
08/01/16 12:32:49 08/01/16 22:32:49 krbtgt/
GEMTALKSYSTEMS.COM@GEMTALKSYSTEMS.COM
renew until 08/02/16 12:34:09
48
GemStone/S 64 3.4
•  SSO Database Login Setup
4.  Login to GemStone with no password!
normg@bunk>topaz -r
_____________________________________________________________________________
| GemStone/S64 Object-Oriented Data Management System |
| Copyright (C) GemTalk Systems 1986-2016 |
| All rights reserved. |
+-----------------------------------------------------------------------------+
| PROGRAM: topaz, Linear GemStone Interface (Remote Session) |
| VERSION: 3.4.0, Wed May 18 13:11:30 2016 normg private build |
| BUILD: 64bit-39535-PRIVATE |
| BUILT FOR: x86-64 (Linux) |
| MODE: 64 bit |
| RUNNING ON: 4-CPU bunk x86_64 (Linux 3.2.0-90-generic #128-Ubuntu SMP Fri Aug
| 14 21:43:58 UTC 2015) 11903MB |
| PROCESS ID: 29215 DATE: 08/02/16 09:42:14 PDT |
| USER IDS: REAL=normg (300) EFFECTIVE=normg (300) LOGIN=normg (300) |
+-----------------------------------------------------------------------------+
| GEMSTONE_NRS_ALL = #netldi:ldinormg#dir:/home/normg/local/gs64-3xb3/slow50/gs/product/data
|_____________________________________________________________________________|
topaz> set u normg
Warning: clearing the previous GemStone password.
topaz> login
[Info]: libssl-3.4.0-64.so: loaded
[08/02/16 09:42:18.559 PDT]
gci login: currSession 1 rpc gem processId 29234 socket 6
successful login
topaz 1>
49
50
GemStone/S Licensing Models
•  Perpetual
– Buy once, own it forever
•  Annual Subscription
– Pay annually, cancel any time.
•  Value Added Reseller (VAR)
– Percentage of royalties
51
GemStone Community Edition
		 Starter	 Limited	 Full	 Extended	SPC	 Extended	CPU	 Extended	Full	
License Kind Perpetual Subscription Subscription Subscription Subscription Subscription
Cores 2 2 2 2 4 4
SPC 1 G 2 G 2G 4G 2G 4G
Gems 10 20 Unlimited Unlimited Unlimited Unlimited
Disk 10G 50G Unlimited Unlimited Unlimited Unlimited
Development DB Unlimited Unlimited Unlimited Unlimited Unlimited Unlimited
Production DB 1 2 Unlimited Unlimited Unlimited Unlimited
Tech Support Community Community 5 tickets 10 tickets 10 tickets 20 tickets
Price Free Free $1500/yr $3000/yr $3000/yr $6000/yr
Distribution With Product Email addr Sales Sales Sales Sales
Source: http://gemtalksystems.com/index.php/lc-licensing/
52
Smalltalk Advocacy
•  STIC
•  ESUG
•  FAST
•  Pharo Consortium
•  Open Source Projects
– Metacello
– tODE
– Tugrik
Ques%ons?	
53
GemTalk Systems LLC
15220 NW Greenbrier Pkwy., Suite 240
Beaverton, Oregon, 97006
Mobile: (503) 804-2041
norm.green@gemtalksystems.com
Norman R. Green
Senior	VP	&	Chief	Technical	Officer	
	
www.gemtalksystems.com
®

Mais conteúdo relacionado

Mais procurados

LMAX Disruptor - High Performance Inter-Thread Messaging Library
LMAX Disruptor - High Performance Inter-Thread Messaging LibraryLMAX Disruptor - High Performance Inter-Thread Messaging Library
LMAX Disruptor - High Performance Inter-Thread Messaging LibrarySebastian Andrasoni
 
Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Felix Geisendörfer
 
JRuby: Pushing the Java Platform Further
JRuby: Pushing the Java Platform FurtherJRuby: Pushing the Java Platform Further
JRuby: Pushing the Java Platform FurtherCharles Nutter
 
Bringing Concurrency to Ruby - RubyConf India 2014
Bringing Concurrency to Ruby - RubyConf India 2014Bringing Concurrency to Ruby - RubyConf India 2014
Bringing Concurrency to Ruby - RubyConf India 2014Charles Nutter
 
I can't believe it's not a queue: Kafka and Spring
I can't believe it's not a queue: Kafka and SpringI can't believe it's not a queue: Kafka and Spring
I can't believe it's not a queue: Kafka and SpringJoe Kutner
 
Mongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam HelmanMongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam HelmanHakka Labs
 
Dirty - How simple is your database?
Dirty - How simple is your database?Dirty - How simple is your database?
Dirty - How simple is your database?Felix Geisendörfer
 
Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB Gaurav Bhardwaj
 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaPrajal Kulkarni
 
Zun project update (boston summit)
Zun project update (boston summit)Zun project update (boston summit)
Zun project update (boston summit)hongbin034
 
How to Test Asynchronous Code (v2)
How to Test Asynchronous Code (v2)How to Test Asynchronous Code (v2)
How to Test Asynchronous Code (v2)Felix Geisendörfer
 
Dexador Rises
Dexador RisesDexador Rises
Dexador Risesfukamachi
 
Twisted Introduction
Twisted IntroductionTwisted Introduction
Twisted Introductioncyli
 
Painless ruby deployment on shelly cloud
Painless ruby deployment on shelly cloudPainless ruby deployment on shelly cloud
Painless ruby deployment on shelly cloudGiedrius Rimkus
 

Mais procurados (20)

Node.js in production
Node.js in productionNode.js in production
Node.js in production
 
LMAX Disruptor - High Performance Inter-Thread Messaging Library
LMAX Disruptor - High Performance Inter-Thread Messaging LibraryLMAX Disruptor - High Performance Inter-Thread Messaging Library
LMAX Disruptor - High Performance Inter-Thread Messaging Library
 
Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?
 
Nodejs - A quick tour (v5)
Nodejs - A quick tour (v5)Nodejs - A quick tour (v5)
Nodejs - A quick tour (v5)
 
JRuby: Pushing the Java Platform Further
JRuby: Pushing the Java Platform FurtherJRuby: Pushing the Java Platform Further
JRuby: Pushing the Java Platform Further
 
Node.js - As a networking tool
Node.js - As a networking toolNode.js - As a networking tool
Node.js - As a networking tool
 
Bringing Concurrency to Ruby - RubyConf India 2014
Bringing Concurrency to Ruby - RubyConf India 2014Bringing Concurrency to Ruby - RubyConf India 2014
Bringing Concurrency to Ruby - RubyConf India 2014
 
I can't believe it's not a queue: Kafka and Spring
I can't believe it's not a queue: Kafka and SpringI can't believe it's not a queue: Kafka and Spring
I can't believe it's not a queue: Kafka and Spring
 
Mongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam HelmanMongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam Helman
 
Dirty - How simple is your database?
Dirty - How simple is your database?Dirty - How simple is your database?
Dirty - How simple is your database?
 
Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB
 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
 
Zun project update (boston summit)
Zun project update (boston summit)Zun project update (boston summit)
Zun project update (boston summit)
 
How to Test Asynchronous Code (v2)
How to Test Asynchronous Code (v2)How to Test Asynchronous Code (v2)
How to Test Asynchronous Code (v2)
 
Nodejs - A quick tour (v4)
Nodejs - A quick tour (v4)Nodejs - A quick tour (v4)
Nodejs - A quick tour (v4)
 
Dexador Rises
Dexador RisesDexador Rises
Dexador Rises
 
Twisted Introduction
Twisted IntroductionTwisted Introduction
Twisted Introduction
 
Painless ruby deployment on shelly cloud
Painless ruby deployment on shelly cloudPainless ruby deployment on shelly cloud
Painless ruby deployment on shelly cloud
 
Nodejs - A-quick-tour-v3
Nodejs - A-quick-tour-v3Nodejs - A-quick-tour-v3
Nodejs - A-quick-tour-v3
 
How we use Twisted in Launchpad
How we use Twisted in LaunchpadHow we use Twisted in Launchpad
How we use Twisted in Launchpad
 

Destaque

Replicated Service Objects -- A Strategy for Distributed Applications
Replicated Service Objects -- A Strategy for Distributed ApplicationsReplicated Service Objects -- A Strategy for Distributed Applications
Replicated Service Objects -- A Strategy for Distributed ApplicationsESUG
 
Stories About Renraku — the new Quality Model of Pharo
Stories About Renraku — the new Quality Model of PharoStories About Renraku — the new Quality Model of Pharo
Stories About Renraku — the new Quality Model of PharoESUG
 
Perfection & Feedback Loops or: why worse is better
Perfection & Feedback Loops or: why worse is betterPerfection & Feedback Loops or: why worse is better
Perfection & Feedback Loops or: why worse is betterESUG
 
seamless – Object Oriented CMS System
seamless – Object Oriented CMS Systemseamless – Object Oriented CMS System
seamless – Object Oriented CMS SystemESUG
 
Lub: a DSL for Dynamic Context Oriented Programming
Lub: a DSL for Dynamic Context Oriented ProgrammingLub: a DSL for Dynamic Context Oriented Programming
Lub: a DSL for Dynamic Context Oriented ProgrammingESUG
 
Woden 2: Developing a modern 3D graphics engine in Smalltalk
Woden 2: Developing a modern 3D graphics engine in SmalltalkWoden 2: Developing a modern 3D graphics engine in Smalltalk
Woden 2: Developing a modern 3D graphics engine in SmalltalkESUG
 

Destaque (6)

Replicated Service Objects -- A Strategy for Distributed Applications
Replicated Service Objects -- A Strategy for Distributed ApplicationsReplicated Service Objects -- A Strategy for Distributed Applications
Replicated Service Objects -- A Strategy for Distributed Applications
 
Stories About Renraku — the new Quality Model of Pharo
Stories About Renraku — the new Quality Model of PharoStories About Renraku — the new Quality Model of Pharo
Stories About Renraku — the new Quality Model of Pharo
 
Perfection & Feedback Loops or: why worse is better
Perfection & Feedback Loops or: why worse is betterPerfection & Feedback Loops or: why worse is better
Perfection & Feedback Loops or: why worse is better
 
seamless – Object Oriented CMS System
seamless – Object Oriented CMS Systemseamless – Object Oriented CMS System
seamless – Object Oriented CMS System
 
Lub: a DSL for Dynamic Context Oriented Programming
Lub: a DSL for Dynamic Context Oriented ProgrammingLub: a DSL for Dynamic Context Oriented Programming
Lub: a DSL for Dynamic Context Oriented Programming
 
Woden 2: Developing a modern 3D graphics engine in Smalltalk
Woden 2: Developing a modern 3D graphics engine in SmalltalkWoden 2: Developing a modern 3D graphics engine in Smalltalk
Woden 2: Developing a modern 3D graphics engine in Smalltalk
 

Semelhante a GemStone/64 product update and road map

GemStone/64 Update
GemStone/64 UpdateGemStone/64 Update
GemStone/64 UpdateESUG
 
GemStone/S 64 Update
 GemStone/S 64 Update GemStone/S 64 Update
GemStone/S 64 UpdateESUG
 
Gemtalk Systems Product Roadmap
Gemtalk Systems Product RoadmapGemtalk Systems Product Roadmap
Gemtalk Systems Product RoadmapESUG
 
GemStone Update 2023
GemStone Update 2023GemStone Update 2023
GemStone Update 2023ESUG
 
Gemstone RoadMap
Gemstone RoadMapGemstone RoadMap
Gemstone RoadMapESUG
 
GemStone Update
GemStone Update GemStone Update
GemStone Update ESUG
 
Glass
GlassGlass
GlassESUG
 
Things I wish I knew about GemStone
Things I wish I knew about GemStoneThings I wish I knew about GemStone
Things I wish I knew about GemStoneESUG
 
GemStone/S Update
GemStone/S UpdateGemStone/S Update
GemStone/S UpdateESUG
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlLeon Chen
 
ABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat InternalsABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat InternalsBenjamin Zores
 
GemStone/S 64bit
GemStone/S 64bitGemStone/S 64bit
GemStone/S 64bitESUG
 
Secure container: Kata container and gVisor
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisorChing-Hsuan Yen
 
Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)MongoDB
 
Cloud Data Encryption (Aluhut Edition) - 2019
Cloud Data Encryption (Aluhut Edition) - 2019Cloud Data Encryption (Aluhut Edition) - 2019
Cloud Data Encryption (Aluhut Edition) - 2019Matthias Grawinkel
 
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...Glenn K. Lockwood
 
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...Sysdig
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scalethelabdude
 
Gemtalk Product Roadmap
Gemtalk Product RoadmapGemtalk Product Roadmap
Gemtalk Product RoadmapESUG
 

Semelhante a GemStone/64 product update and road map (20)

GemStone/64 Update
GemStone/64 UpdateGemStone/64 Update
GemStone/64 Update
 
GemStone/S 64 Update
 GemStone/S 64 Update GemStone/S 64 Update
GemStone/S 64 Update
 
Gemtalk Systems Product Roadmap
Gemtalk Systems Product RoadmapGemtalk Systems Product Roadmap
Gemtalk Systems Product Roadmap
 
GemStone Update 2023
GemStone Update 2023GemStone Update 2023
GemStone Update 2023
 
Gemstone RoadMap
Gemstone RoadMapGemstone RoadMap
Gemstone RoadMap
 
GemStone Update
GemStone Update GemStone Update
GemStone Update
 
Glass
GlassGlass
Glass
 
Things I wish I knew about GemStone
Things I wish I knew about GemStoneThings I wish I knew about GemStone
Things I wish I knew about GemStone
 
GemStone/S Update
GemStone/S UpdateGemStone/S Update
GemStone/S Update
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
 
ABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat InternalsABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat Internals
 
GemStone/S 64bit
GemStone/S 64bitGemStone/S 64bit
GemStone/S 64bit
 
Secure container: Kata container and gVisor
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisor
 
Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)
 
Cloud Data Encryption (Aluhut Edition) - 2019
Cloud Data Encryption (Aluhut Edition) - 2019Cloud Data Encryption (Aluhut Edition) - 2019
Cloud Data Encryption (Aluhut Edition) - 2019
 
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
 
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scale
 
Gemtalk Product Roadmap
Gemtalk Product RoadmapGemtalk Product Roadmap
Gemtalk Product Roadmap
 
Tacc Infinite Memory Engine
Tacc Infinite Memory EngineTacc Infinite Memory Engine
Tacc Infinite Memory Engine
 

Mais de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Mais de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Último

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

GemStone/64 product update and road map

  • 1. GemStone/S 64 Update (with jokes!) Norm Green Senior VP & CTO ESUG 2016 Prague, Czech Republic 24 August 2016
  • 2. 2 Agenda •  So what is this GemStone thing you speak of? •  GemStone/S 64 v 3.3 •  GemStone/S 64 v 3.4 •  Licensing Options
  • 3. 3 Q: How can you tell an extroverted programmer from an introverted programmer? A: An extroverted programmer looks at your shoes when he talks to you.
  • 5. 5 How Many Have Actually Used GemStone ? How Many Have A Good Feel For What GemStone Is?
  • 6. 6 So What Is This GemStone Thing You Speak Of? •  A solution to the limitations of traditional Smalltalk: 1.  Object space limited to one VM. 2.  Object space limited to one host. 3.  Object space limited to available RAM. 4.  Object changes (since last image save) lost when VM exits.
  • 7. 7 Welcome To The Magical World Of GemStone! •  Object space visible to thousands of VMs on thousands of machines. •  Object space limited by disk, not RAM. •  Object changes managed by ACID transactions –  Atomic –  Consistent –  Isolated –  Durable •  Object changes guaranteed persistent once committed.
  • 8. 8 Key Features Of GemStone •  Scalability –  Billions of objects –  Thousands of users. –  Thousands of machines. –  Thousands of transactions per second. –  Terabytes of data.
  • 9. 9 Key Features Of GemStone •  Concurrency –  Multiple user sessions. –  Built-in database transactions. •  Commit •  Abort •  Continue –  Optimistic Concurrency •  Reduced Conflict Collections –  Pessimistic Concurrency •  Object-level read/write locks. –  Namespaces •  Shared and private.
  • 10. 10 Key Features Of GemStone •  Security –  Object-level security. •  User, group, world permissions. –  Login Security •  Traditional User-id / Password •  Single-Sign-On (GSSAP/Kerberos) (coming soon) •  LDAP •  PAM –  Administrative Privileges •  #GarbageCollection •  #OtherPassword •  #SystemControl
  • 11. 11 Key Features Of GemStone •  100% Smalltalk –  All objects, all the time. –  Classes, methods, blocks. –  ANSI Smalltalk compliant (mostly)
  • 12. 12 Key Features Of GemStone •  Very Large Collection Support –  Collections of millions of objects. –  Optimized searches using b-tree Indexes: •  Equality Indexes (a = b) •  Identity Indexes (a == b)
  • 13. 13 Key Features Of GemStone •  Interfaces to Other Smalltalks –  VisualWorks® - GemBuilder for VisualWorks® –  VA Smalltalk® - GemBuilder for VA Smalltalk® –  Pharo – tODE (open source) •  Interfaces To Other Languages –  C/C++ - GemBuilder for C –  Java – GemBuilder for Java •  Interfaces to Relational Databases –  Oracle – GemConnect for Oracle –  Sybase – GemConnect for Sybase (open source)
  • 15. 15 GemStone/S 64 Versions •  Latest Release: 3.3.1 (June, 2016) •  Next Major Release: 3.4 (Spring, 2017)
  • 16. 16 GemStone/S 64 3.3 •  Smalltalk Virtual Machine Performance – Improved native code generation. – Optimize native code for branch prediction. – Improved math performance, especially integer math. – Average overall improvement: •  25% faster vs. GS/64 3.2
  • 17. 17 GemStone/S 3.3 •  Faster Tranlog Restore – Optimize object table generation during restore. – ~30% improvement – Affects: •  #restoreFromLogs •  Hot Standby Systems
  • 18. 18 GemStone/S 64 3.3 •  SmallFraction – New immediate (special) class. •  Value encoded in the object. •  Guaranteed canonical. – Numerator Range: •  -268435456 to 268435455 – Denominator Range: •  1 to 134217727
  • 19. 19 GemStone/S 64 3.3 •  GsFile Improvements – Native UTF8 Support – Methods Now Implemented as Primitives: • next • nextPut: • _peek: • _seekTo: opcode: • isCompressed • position
  • 20. 20 GemStone/S 64 3.3 •  Support LZ4 Data Compression –  “LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core (0.16 Bytes/cycle). It also features an extremely fast decoder, with speed in multiple GB/s per core (0.71 Bytes/cycle).” -http://cyan4973.github.io/lz4/ – Up to 10X faster than zlib (aka gzip). – Compression ratio slightly worse than zlib.
  • 21. 21 GemStone/S 64 3.3 •  3.3 LZ4 Support: – Remote Gem to Page Server – Remote GCI (ST Image) to Gem – Stone to Remote Shared Page Cache(s) – Stone to hot standby server(s).
  • 22. 22 GemStone/S 64 3.3 •  Remote Gem to Page Server Encryption –  Remote Gem to Page Server connection may now use SSL/TLS. –  Enabled with new GEM_PGSVR_USE_SSL option. –  Remote client to Gem connection already uses SSL/ TLS.
  • 23. 23 GemStone/S 64 3.3 •  Start statmonitor automatically •  Supports various wildcard args from strftime(3) •  New Configuration parameters: –  STN_STATMONITOR_ARGS •  At stone startup –  GEM_STATMONITOR_ARGS •  At remote cache startup –  STN_STATMONITOR_MID_CACHE_ARGS •  At mid-level cache startup
  • 24. 24 GemStone/S 64 3.3 •  Make pageaudit Command Multi-threaded –  Used to audit the repository for page-level consistency. –  Up to 20 X faster than 3.2
  • 25. 25 GemStone/S 64 3.3 •  Object Canonicalization Framework –  A framework of classes that may be used to canonicalize instances of domain classes. •  AbstractReferencingObjectPolicy •  ReferencingObjectPolicy •  CanonicalObjectManager •  CanonicalObjectPolicy •  CanonicalObjectRegistry •  Developed by a GemTalk – Customer partnership.
  • 26. 26 GemStone/S 64 3.3 •  Page Server Changes –  Previously (before 3.3) •  1 process (page server) is started for 1 remote gem. •  3000 sessions == 3000 page servers! •  Page Table Memory Problems (especially Linux) –  Now (3.3 and later) •  1 page server process is started for *all* gems on a remote host. •  1 thread is started for 1 remote gem. •  Each remote gem uses 1 native thread in the page server.
  • 27. 3.2 Architecture 27 Gem1 Gem2 Gem3 Gem1 Page Server 1 Page Server 2 Page Server 3 Remote Gem Host Stone Host Stone
  • 28. 3.3 Architecture 28 Gem1 Gem2 Gem3 Gem1 Remote Gem Host Stone Host Stone Thread 1 Thread 2 Thread 3 Page Server 1
  • 29. 29 GemStone/S 64 3.3 •  Cache Warming With Mid Caches –  Leaf Caches may now use mid caches during cache warming. –  Advantageous for highly distributed, cloud based architectures.
  • 30. GemStone Cloud Architecture 30 Storage Remote Data Center (Cloud) Main Data Center StoneMain CacheMid-Level Cache Leaf Cache 1 Leaf Cache 2 Leaf Cache 3 Slow WAN Gem Gem Gem SSL / TLS
  • 32. 32 GemBuilder for……..Android?!? •  Experimental Project to Access GemStone from Android Devices •  Uses GemBuilder for Java (GBJ) (OpenSSL)
  • 33. 33 GbjTest App on Android Login Screen
  • 34. 34 GbjTest App on Android Command Execution
  • 35. 35 Android Test App Source Code •  Application Code: –  ftp://ftp.gemtalksystems.com/pub/GBJ/GbjTest.zip •  Contact: – bill.erickson@gemtalksystems.com
  • 36. 36 VSD 5.2 •  Faster load times on Windows •  New End Time Column •  Column Sort Arrows •  Secondary Sort Column •  Support for LZ4 compressed files.
  • 37. 37 GemStone/S 64 Platforms •  Object Server (Database) –  Linux x86_64 –  Apple Darwin 64 bit –  Oracle Solaris amd64 –  Oracle Solaris SPARC 64 bit –  IBM AIX PowerPC 64 bit
  • 38. 38 GBS Platforms •  Cincom® VisualWorks® 7.10.1 / 8.1.1 –  MS Windows 7/8 32 bit –  MS Windows 7/8/10 64 bit –  Linux 32/64 bit –  Solaris SPARC 32/64 bit •  Instantiations VA Smalltalk™ 8.6.2 –  MS Windows 7/8 32 bit
  • 39. 39 GemStone/S 64 3.4 •  More lz4 Support: – Statmonitor – VSD – Copydbf – Backup/Restore – Smalltalk Access (GsFile ? FileSystem ?)
  • 40. 40 GemStone/S 64 3.4 •  Encrypted Backups and Tranlogs – AES 128, 192 or 256 bit encryption – Public / private key pair – Passphrase – Secure Signing (MAC)
  • 41. 41 GemStone/S 64 3.4 •  OpenSSL 1.1.x – Still in beta – Will be supported once 1.1 is final
  • 42. 42 GemStone/S 64 3.4 •  Improved findReferencePath methods – GemStone uses “persistence by reachability” – Finds all references paths for a list of objects. – Now multi-threaded
  • 43. 43 GemStone/S 64 3.4 •  GIT Support in Base Image – Cypress Project – https://github.com/CampSmalltalk/Cypress
  • 44. 44 GemStone/S 64 3.4 •  Single Sign On (SSO) Support – GSSAPI / Kerberos (UNIX) – SSPI (Windows) – Service Name: “GEMSTONE64” •  Database Login – Enable UserProfile For SSO •  Process Creation – Enable NetLDI for SSO
  • 45. 45 GemStone/S 64 3.4 •  SSO Database Login Setup 1.  Create UserProfile and KerberosPrincipal objects run |profile kp| profile := AllUsers addNewUserWithId: 'normg' password: swordfish' . kp := KerberosPrincipal newPrincipalWithName: 'normg@GEMTALKSYSTEMS.COM' loginUserProfile: profile . profile enableSingleSignOnAuthenticationWithPrincipal: kp . % commit
  • 46. 46 GemStone/S 64 3.4 •  SSO Database Login Setup 2.  Add the Kerberos keytab file to the GemStone configuration file. echo "GEM_KERBEROS_KEYTAB_FILE = /common/gemtalk.keytab;" >> $GEMSTONE/data/system.conf
  • 47. 47 GemStone/S 64 3.4 •  SSO Database Login Setup 3.  If UNIX login does not use Kerberos, get a ticket using kinit. normg@bunk>kinit Password for normg@GEMTALKSYSTEMS.COM: xxxxxxxx normg@bunk>klist Ticket cache: FILE:/tmp/krb5cc_300 Default principal: normg@GEMTALKSYSTEMS.COM Valid starting Expires Service principal 08/01/16 12:32:49 08/01/16 22:32:49 krbtgt/ GEMTALKSYSTEMS.COM@GEMTALKSYSTEMS.COM renew until 08/02/16 12:34:09
  • 48. 48 GemStone/S 64 3.4 •  SSO Database Login Setup 4.  Login to GemStone with no password! normg@bunk>topaz -r _____________________________________________________________________________ | GemStone/S64 Object-Oriented Data Management System | | Copyright (C) GemTalk Systems 1986-2016 | | All rights reserved. | +-----------------------------------------------------------------------------+ | PROGRAM: topaz, Linear GemStone Interface (Remote Session) | | VERSION: 3.4.0, Wed May 18 13:11:30 2016 normg private build | | BUILD: 64bit-39535-PRIVATE | | BUILT FOR: x86-64 (Linux) | | MODE: 64 bit | | RUNNING ON: 4-CPU bunk x86_64 (Linux 3.2.0-90-generic #128-Ubuntu SMP Fri Aug | 14 21:43:58 UTC 2015) 11903MB | | PROCESS ID: 29215 DATE: 08/02/16 09:42:14 PDT | | USER IDS: REAL=normg (300) EFFECTIVE=normg (300) LOGIN=normg (300) | +-----------------------------------------------------------------------------+ | GEMSTONE_NRS_ALL = #netldi:ldinormg#dir:/home/normg/local/gs64-3xb3/slow50/gs/product/data |_____________________________________________________________________________| topaz> set u normg Warning: clearing the previous GemStone password. topaz> login [Info]: libssl-3.4.0-64.so: loaded [08/02/16 09:42:18.559 PDT] gci login: currSession 1 rpc gem processId 29234 socket 6 successful login topaz 1>
  • 49. 49
  • 50. 50 GemStone/S Licensing Models •  Perpetual – Buy once, own it forever •  Annual Subscription – Pay annually, cancel any time. •  Value Added Reseller (VAR) – Percentage of royalties
  • 51. 51 GemStone Community Edition Starter Limited Full Extended SPC Extended CPU Extended Full License Kind Perpetual Subscription Subscription Subscription Subscription Subscription Cores 2 2 2 2 4 4 SPC 1 G 2 G 2G 4G 2G 4G Gems 10 20 Unlimited Unlimited Unlimited Unlimited Disk 10G 50G Unlimited Unlimited Unlimited Unlimited Development DB Unlimited Unlimited Unlimited Unlimited Unlimited Unlimited Production DB 1 2 Unlimited Unlimited Unlimited Unlimited Tech Support Community Community 5 tickets 10 tickets 10 tickets 20 tickets Price Free Free $1500/yr $3000/yr $3000/yr $6000/yr Distribution With Product Email addr Sales Sales Sales Sales Source: http://gemtalksystems.com/index.php/lc-licensing/
  • 52. 52 Smalltalk Advocacy •  STIC •  ESUG •  FAST •  Pharo Consortium •  Open Source Projects – Metacello – tODE – Tugrik
  • 53. Ques%ons? 53 GemTalk Systems LLC 15220 NW Greenbrier Pkwy., Suite 240 Beaverton, Oregon, 97006 Mobile: (503) 804-2041 norm.green@gemtalksystems.com Norman R. Green Senior VP & Chief Technical Officer www.gemtalksystems.com ®