in Zurich, Switzerland Founded by ETH Zurich and MIT alumni (former Auto-ID Center research scientists) Specialists in mobile image processing and cloud computing Over 12,000 licensees worldwide Key customers include Ahold, CapitalOne, Bayer, Nasa, Coop, Intuit, Saks 5th Avenue, Tetrapak, Shopkick and GS1 Scandit Inc. with offices in San Francisco and Boston
scan performance Ruggedized Clunky High TCO Outdated HW and SW Only for heavy users * 60% of current customers do not actually require ruggedness. Rugged accessories / cases can provide certified drop, dust, water and fire protection and improved ergonomics ** Not limited to ID but also supporting mobile OCR, image recognition, etc. Great scan** performance Ruggedizable* Excellent UX Low TCO Modern HW and SW Dedicated and BYOD users Cloud Services
25+ million devices More than 12,000 licensees Works on any device Scans on 3,000+ Android devices Even those without autofocus, with low resolution cameras (240p) Wearables like Google Glass, Vuzix, etc. Support for Xamarin, Titanium, Phonegap Cloud-based management platform “Scanalytics”: scan management and analytics (top products, categories, at- home vs. in-store, etc.) Device management capabilities Product information managment
200 250 300 0 100 200 300 400 500 600 700 brightness value position in scan line / pixels Brightness values along blurry scan line 0 50 100 150 200 250 300 0 100 200 300 400 500 600 700 brightness value position in scan line / pixels Brightness values along sharp scan line
(permanently store billions of scans) High-volume throughput Support large number of concurrent client requests (millions of mobile devices, each client operation creates lots of writes) Write-heavy environment Availability Low maintenance - even as our customer base grows Multiple data centers Data model (wide rows) is a good fit
had Cassandra in production use for almost 4 years Linux machines Stable and mature – no serious incidents Upgrades mostly painless (we’ve followed most releases from 0.6.x to 2.0.9) But a few hiccups…
Missing features: load balancing, retry policy Transparent failover does not work Rolling restart of cluster will kill your application No support for new features (e.g., user-defined types) Switch to JRuby and use Datastax driver… Repair Very important to run regularly Standard «nodetool repair -pr» never worked for us We found that repair coordinator hangs waiting for snapshots Workaround: use «-par» option to prevent snapshots (undocumented)
fix: remove SSTable file and repair IP address renumbering Changing a node’s IP address is not straightforward We decided to play it safe and used iptables redirection instead Any experiences or ideas?
delete data, always delete entire rows (not columns) Dreaded “tombstone overwhelming” exception Aborted queries (or outright crashes pre C* 2.0.x) Have good log monitoring in place Cassandra is not “set up and forget” We use Kibana OpsCenter is your friend Helps with debugging