django in the real world

Size: px
Start display at page:

Download "django in the real world"

Transcription

1 django in the real world yes! it scales!... YAY! Israel Fermin Montilla Software dubizzle December 14, 2017

2 from iferminm import more data Software dubizzle Venezuelan living in Dubai, UAE blog:

3 What will we see in this talk? Pareto Principle The simple django project Measuring Common bottlenecks

4 Basic concepts: Pareto principle

5 Basic concepts: Pareto principle The Pareto principle states that, for many events, roughly 80% of the effects come from 20% of the causes Wikipedia

6 Basic concepts: Pareto principle The Pareto principle states that, for many events, roughly 80% of the effects come from 20% of the causes Wikipedia For example: 20% of the code produces 80% of the bugs.

7 Basic concepts: Pareto principle Premature optimization is bad

8 Basic concepts: Pareto principle Premature optimization is bad Optimization without measuring is bad

9 Basic concepts: Pareto principle Premature optimization is bad Optimization without measuring is bad Unprioritized optimization is bad

10 Initial django project in production Figure: Basic django project production setup

11 Profile first

12 django-debug-toolbar Figure: debug toolbar in action

13 cprofile + snakeviz Figure: snakeviz list view

14 cprofile + snakeviz Figure: snakeviz sunburst diagram

15 vprof Figure: vprof code heatmap

16 vprof Figure: vprof flame diagram

17 vprof Figure: vprof memory profiler

18 vprof Figure: vprof profiler

19 newrelic Figure: Part of newrelic s main dashboard

20 newrelic Figure: part of newrelic s main dashboard

21 newrelic Figure: Inside a web transaction in newrelic

22 Database

23 Reduce query counts 1 s u b s = S u b s c r i p t i o n. o b j e c t s. f i l t e r ( u s e r i d=u s e r. pk ) 2 f o r s i n s u b s : 3 packages. append ( s. package. name )

24 Reduce query counts 1 s u b s = S u b s c r i p t i o n. o b j e c t s. f i l t e r ( u s e r i d=u s e r. pk ) 2 f o r s i n s u b s : 3 packages. append ( s. package. name ) N hits to the database

25 Reduce query counts 1 s u b s = S u b s c r i p t i o n. o b j e c t s. f i l t e r ( u s e r i d=u s e r. pk ) 2 f o r s i n s u b s : 3 packages. append ( s. package. name ) N hits to the database 1 s u b s = S u b s c r i p t i o n. o b j e c t s. f i l t e r ( 2 u s e r i d=u s e r. pk 3 ). s e l e c t r e l a t e d ( package )

26 Reduce query counts 1 s u b s = S u b s c r i p t i o n. o b j e c t s. f i l t e r ( u s e r i d=u s e r. pk ) 2 f o r s i n s u b s : 3 packages. append ( s. package. name ) N hits to the database 1 s u b s = S u b s c r i p t i o n. o b j e c t s. f i l t e r ( 2 u s e r i d=u s e r. pk 3 ). s e l e c t r e l a t e d ( package ) Will join the table and return it in one hit

27 Reduce query counts select related prefetch related

28 Reduce query counts Use it wisely and measure 1 u s e r = User. o b j e c t s. s e l e c t r e l a t e d ( 2 s o d a s 3 ). g e t ( pk=r e q u e s t. data [ u s e r i d ] ) 4 5 # No a d d i t i o n a l q u e r y 6 u s e r. s o d a s. a l l ( )

29 Reduce query counts Use it wisely and measure 1 u s e r = User. o b j e c t s. s e l e c t r e l a t e d ( 2 s o d a s 3 ). g e t ( pk=r e q u e s t. data [ u s e r i d ] ) 4 5 # No a d d i t i o n a l q u e r y 6 u s e r. s o d a s. a l l ( ) 1 # T r i g g e r s an a d d i t i o n a l q u e r y 2 u s e r. s o d a s. f i l t e r ( name= p e p s i ) 3 4 # Sometimes i t s b e t t e r to use t h e cached r e s u l t 5 # and f i l t e r i n memory 6 [ s f o r s i n u s e r. s o d a s. a l l ( ) i f s. name == p e p s i ]

30 Reduce query counts Use the Prefetch object! 1 # A p r o d u c t has many s u b s c r i p t i o n s and 2 # a s u b s c r i p t i o n can have many p r o d u c t s 3 4 q u e r y s e t = S u b s c r i p t i o n. o b j e c t s. f i l t e r ( s t a t u s=e x p i r e d ). s e l e c t r e l a t e d ( c r e d i t s ) 5 p r e f e t c h = P r e f e t c h ( s u b s c r i p t i o n s, q u e r y s e t=q u e r y s e t ) 6 7 p r o d u c t s = Product. o b j e c t s. p r e f e t c h r e l a t e d ( p r e f e t c h ). f i l t e r ( s e c t i o n= j o b s )

31 Reduce query time

32 Reduce query time Indexing

33 Reduce query time Indexing 1 c l a s s U s e r P r o f i l e ( models. Model ) : 2 u s e r = models. ForeignKey ( a u t h u s e r ) 3 dob = models. DateField ( db index=true ) 4 e x t e r n a l i d = models. I n t e g e r F i e l d ( d b i n d e x=true )

34 Reduce query time Indexing 1 c l a s s U s e r P r o f i l e ( models. Model ) : 2 u s e r = models. ForeignKey ( a u t h u s e r ) 3 dob = models. DateField ( db index=true ) 4 e x t e r n a l i d = models. I n t e g e r F i e l d ( d b i n d e x=true ) Note: Your DBMS updates your indices in write time (INSERT and UPDATE)

35 Some notes on indexing You need to measure before you do it. Run EXPLAIN on the query (Seq scan) Index by workload If you filter on multiple columns use index together Meta option Check if the index is used before you push it. Run EXPLAIN again

36 Expensive JOINs Sometimes you might want to separate them into two different queries. 1 # You may want to see the c r e d i t spending behavior of your users 2 C r e d i t. o b j e c t s. f i l t e r ( 3 s u b s c r i p t i o n p k g t y p e= motors 4 ). s e l e c t r e l a t e d ( r e s o u r c e ) 5 6 # Sometimes two q u e r i e s might p e r f o r m b e t t e r 7 s u b s i d s = S u b s c r i p t i o n. o b j e c t s. f i l t e r ( 8 pkg type= motors 9 ). v a l u e s l i s t ( i d, f l a t=true ) C r e d i t. o b j e c t s. f i l t e r ( 12 s u b s c r i p t i o n i d i n=s u b s i d s 13 ). s e l e c t r e l a t e d ( r e s o u r c e )

37 Expensive JOINs Sometimes you might want to separate them into two different queries. 1 # You may want to see the c r e d i t spending behavior of your users 2 C r e d i t. o b j e c t s. f i l t e r ( 3 s u b s c r i p t i o n p k g t y p e= motors 4 ). s e l e c t r e l a t e d ( r e s o u r c e ) 5 6 # Sometimes two q u e r i e s might p e r f o r m b e t t e r 7 s u b s i d s = S u b s c r i p t i o n. o b j e c t s. f i l t e r ( 8 pkg type= motors 9 ). v a l u e s l i s t ( i d, f l a t=true ) C r e d i t. o b j e c t s. f i l t e r ( 12 s u b s c r i p t i o n i d i n=s u b s i d s 13 ). s e l e c t r e l a t e d ( r e s o u r c e ) ALWAYS MEASURE

38 Avoid whole table COUNT() queries After some point, having exact numbers is not important 1 P r o p e r t y F o r R e n t. o b j e c t s. count ( )

39 Avoid whole table COUNT() queries After some point, having exact numbers is not important 1 P r o p e r t y F o r R e n t. o b j e c t s. count ( ) You can instead do a raw SQL query 1 # P o s t g r e s 2 SELECT r e l t u p l e s FROM p g c l a s s 3 WHERE r e l name = p r o p e r t y f o r r e n t 4 5 # MySQL 6 SELECT table rows FROM information schema. t a b l e s 7 WHERE table schema = DATABASE( ) 8 AND t a b l e n a m e = p r o p e r t y f o r r e n t

40 Avoid whole table COUNT() queries After some point, having exact numbers is not important 1 P r o p e r t y F o r R e n t. o b j e c t s. count ( ) You can instead do a raw SQL query 1 # P o s t g r e s 2 SELECT r e l t u p l e s FROM p g c l a s s 3 WHERE r e l name = p r o p e r t y f o r r e n t 4 5 # MySQL 6 SELECT table rows FROM information schema. t a b l e s 7 WHERE table schema = DATABASE( ) 8 AND t a b l e n a m e = p r o p e r t y f o r r e n t This could reduce up to 90% response time

41 Use persistent connections 1 DATABASES = { 2 d e f a u l t : { 3 ENGINE : django. db. backends. p o s t g r e s q l p s y c o p g 2, 4 NAME : os. g e t e n v ( DATABASE NAME, s l a y e r ), 5 USER : os. g e t e n v ( DATABASE USER, None ), 6 PASSWORD : os. getenv ( DATABASE PASSWORD, None ), 7 PORT : os. g e t e n v ( DATABASE PORT, 3306 ), 8 HOST : os. g e t e n v ( DATABASE HOST, l o c a l h o s t ), 9 CONN MAX AGE : i n t ( os. g e t e n v ( DATABASE CONNECTION MAX AGE, 0 ) ) 10 } 11 }

42 Know your ORM Read the full ORM docs at least once Use F expressions to reference values within the queryset Use Q expressions for advanced filters Explore the aggregation framework Use values(), values list(), only() and defer() when the results are too big

43 Denormalize Evaluate huge joins Don t use Generic Relations

44 Denormalize Evaluate huge joins Don t use Generic Relations Figure: Response time reduction after denormalizing a Generic Relation

45 Query caching johny-cache django-cache-machine

46 Templates

47 Russian Doll Caching

48 Russian Doll Caching 1 {% cache MIDDLE TTL ads request.get. page %} 2 {% i n c l u d e s e c t i o n s / p r o p e r t y / p o s t h e a d e r. html %} 3 <d i v c l a s s= ads l i s t > 4 {% f o r ad i n ads %} 5 {% cache LONG TTL a d d e s c r i p t i o n a d i d ad. l a s t u p d a t e d %} 6 {% i n c l u d e s e c t i o n s / p r o p e r t y / a d t e a s e r. html %} 7 {% endcache %} 8 {% e n d f o r %} 9 {% endcache %}

49 Further Optimization

50 Further optimization Minimize your CSS and JS (django-compressor, webassets or django-pipeline) Optimize your static images Optimize user uploaded images Serve your media and static content from a CDN Do slow work later... (celery or python-rq) Use slave replicas for read operations (and database routers)

51

52 Thank you! **** We re hiring **** **** ****

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation.

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation. ST-Links SpatialKit For ArcMap Version 3.0.x ArcMap Extension for Directly Connecting to Spatial Databases ST-Links Corporation www.st-links.com 2012 Contents Introduction... 3 Installation... 3 Database

More information

Web Development Paradigms and how django and GAE webapp approach them.

Web Development Paradigms and how django and GAE webapp approach them. Web Development Paradigms and how django and GAE webapp approach them. Lakshman Prasad Agiliq Solutions September 25, 2010 Concepts and abstractions used to represent elements of a program Web Development

More information

Innovation. The Push and Pull at ESRI. September Kevin Daugherty Cadastral/Land Records Industry Solutions Manager

Innovation. The Push and Pull at ESRI. September Kevin Daugherty Cadastral/Land Records Industry Solutions Manager Innovation The Push and Pull at ESRI September 2004 Kevin Daugherty Cadastral/Land Records Industry Solutions Manager The Push and The Pull The Push is the information technology that drives research and

More information

Infrastructure Automation with Salt

Infrastructure Automation with Salt Infrastructure Automation with Salt Sean McGrath 10th November 2016 About Research IT Where I work as a systems administrator http://www.tchpc.tcd.ie/ Ireland s premier High Performance Computing Centre

More information

Replication cluster on MariaDB 5.5 / ubuntu-server. Mark Schneider ms(at)it-infrastrukturen(dot)org

Replication cluster on MariaDB 5.5 / ubuntu-server. Mark Schneider ms(at)it-infrastrukturen(dot)org Mark Schneider ms(at)it-infrastrukturen(dot)org 2012-05-31 Abstract Setting of MASTER-SLAVE or MASTER-MASTER replications on MariaDB 5.5 database servers is neccessary for higher availability of data and

More information

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface.

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface. Course Announcements Bacon is due next Monday. Today s lecture will help thinking about your DB interface. Next lab is about drawing UIs. John Jannotti (cs32) ORMs Mar 9, 2017 1 / 24 ORMs John Jannotti

More information

Databases through Python-Flask and MariaDB

Databases through Python-Flask and MariaDB 1 Databases through Python-Flask and MariaDB Tanmay Agarwal, Durga Keerthi and G V V Sharma Contents 1 Python-flask 1 1.1 Installation.......... 1 1.2 Testing Flask......... 1 2 Mariadb 1 2.1 Software

More information

The File Geodatabase API. Craig Gillgrass Lance Shipman

The File Geodatabase API. Craig Gillgrass Lance Shipman The File Geodatabase API Craig Gillgrass Lance Shipman Schedule Cell phones and pagers Please complete the session survey we take your feedback very seriously! Overview File Geodatabase API - Introduction

More information

Lecture 24: Bloom Filters. Wednesday, June 2, 2010

Lecture 24: Bloom Filters. Wednesday, June 2, 2010 Lecture 24: Bloom Filters Wednesday, June 2, 2010 1 Topics for the Final SQL Conceptual Design (BCNF) Transactions Indexes Query execution and optimization Cardinality Estimation Parallel Databases 2 Lecture

More information

Estimation of DNS Source and Cache Dynamics under Interval-Censored Age Sampling

Estimation of DNS Source and Cache Dynamics under Interval-Censored Age Sampling Estimation of DNS Source and Cache Dynamics under Interval-Censored Age Sampling Di Xiao, Xiaoyong Li, Daren B.H. Cline, Dmitri Loguinov Internet Research Lab Department of Computer Science and Engineering

More information

Tutorial: Urban Trajectory Visualization. Case Studies. Ye Zhao

Tutorial: Urban Trajectory Visualization. Case Studies. Ye Zhao Case Studies Ye Zhao Use Cases We show examples of the web-based visual analytics system TrajAnalytics The case study information and videos are available at http://vis.cs.kent.edu/trajanalytics/ Porto

More information

Data Canopy. Accelerating Exploratory Statistical Analysis. Abdul Wasay Xinding Wei Niv Dayan Stratos Idreos

Data Canopy. Accelerating Exploratory Statistical Analysis. Abdul Wasay Xinding Wei Niv Dayan Stratos Idreos Accelerating Exploratory Statistical Analysis Abdul Wasay inding Wei Niv Dayan Stratos Idreos Statistics are everywhere! Algorithms Systems Analytic Pipelines 80 Temperature 60 40 20 0 May 2017 80 Temperature

More information

Window-aware Load Shedding for Aggregation Queries over Data Streams

Window-aware Load Shedding for Aggregation Queries over Data Streams Window-aware Load Shedding for Aggregation Queries over Data Streams Nesime Tatbul Stan Zdonik Talk Outline Background Load shedding in Aurora Windowed aggregation queries Window-aware load shedding Experimental

More information

Why GIS & Why Internet GIS?

Why GIS & Why Internet GIS? Why GIS & Why Internet GIS? The Internet bandwagon Internet mapping (e.g., MapQuest) Location-based services Real-time navigation (e.g., traffic) Real-time service dispatch Business Intelligence Spatial

More information

Geodatabase Programming with Python John Yaist

Geodatabase Programming with Python John Yaist Geodatabase Programming with Python John Yaist DevSummit DC February 26, 2016 Washington, DC Target Audience: Assumptions Basic knowledge of Python Basic knowledge of Enterprise Geodatabase and workflows

More information

Geodatabase Programming with Python

Geodatabase Programming with Python DevSummit DC February 11, 2015 Washington, DC Geodatabase Programming with Python Craig Gillgrass Assumptions Basic knowledge of python Basic knowledge enterprise geodatabases and workflows Please turn

More information

Arup Nanda Starwood Hotels

Arup Nanda Starwood Hotels Arup Nanda Starwood Hotels Why Analyze The Database is Slow! Storage, CPU, memory, runqueues all affect the performance Know what specifically is causing them to be slow To build a profile of the application

More information

MapOSMatic, free city maps for everyone!

MapOSMatic, free city maps for everyone! MapOSMatic, free city maps for everyone! Thomas Petazzoni thomas.petazzoni@enix.org Libre Software Meeting 2012 http://www.maposmatic.org Thomas Petazzoni () MapOSMatic: free city maps for everyone! July

More information

From BASIS DD to Barista Application in Five Easy Steps

From BASIS DD to Barista Application in Five Easy Steps Y The steps are: From BASIS DD to Barista Application in Five Easy Steps By Jim Douglas our current BASIS Data Dictionary is perfect raw material for your first Barista-brewed application. Barista facilitates

More information

Algorithms for Data Science

Algorithms for Data Science Algorithms for Data Science CSOR W4246 Eleni Drinea Computer Science Department Columbia University Tuesday, December 1, 2015 Outline 1 Recap Balls and bins 2 On randomized algorithms 3 Saving space: hashing-based

More information

Oracle Spatial: Essentials

Oracle Spatial: Essentials Oracle University Contact Us: 1.800.529.0165 Oracle Spatial: Essentials Duration: 5 Days What you will learn The course extensively covers the concepts and usage of the native data types, functions and

More information

Scripting Languages Fast development, extensible programs

Scripting Languages Fast development, extensible programs Scripting Languages Fast development, extensible programs Devert Alexandre School of Software Engineering of USTC November 30, 2012 Slide 1/60 Table of Contents 1 Introduction 2 Dynamic languages A Python

More information

Dynamic Join Assoc Join LoadOpt Deferred. LINQ-to-SQL Part 2. Radu Nicolescu Department of Computer Science University of Auckland.

Dynamic Join Assoc Join LoadOpt Deferred. LINQ-to-SQL Part 2. Radu Nicolescu Department of Computer Science University of Auckland. LINQ-to-SQL Part 2 Radu Nicolescu Department of Computer Science University of Auckland 7 October 2015 1 / 22 1 Dynamic LINQ 2 Inner joins 3 Associations 4 Joins by navigation 5 Load options 6 Deferred

More information

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde ArcGIS Enterprise: What s New Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde ArcGIS Enterprise is the new name for ArcGIS for Server ArcGIS Enterprise Software Components ArcGIS Server Portal

More information

Practical Data Processing With Haskell

Practical Data Processing With Haskell Practical Data Processing With Haskell Ozgun Ataman November 14, 2012 Ozgun Ataman (Soostone Inc) Practical Data Processing With Haskell November 14, 2012 1 / 18 A bit about the speaker Electrical Engineering,

More information

Efficient Maintenance of Materialized Top-k Views

Efficient Maintenance of Materialized Top-k Views Efficient Maintenance of Materialized Top-k Views Ke Yi, Hai Yu, Jun Yang, Gangqiang Xia, and Yuguo Chen Abstract We tackle the problem of maintaining materialized top-k views in this paper. Top-k queries,

More information

Robust Programs with Filtered Iterators

Robust Programs with Filtered Iterators Robust Programs with Filtered Iterators Jiasi Shen, Martin Rinard MIT EECS & CSAIL 1 Standard Scenario Input file Program Output 2 Structured Input Units Input Input unit Input unit Input unit unit Program

More information

Lecture and notes by: Alessio Guerrieri and Wei Jin Bloom filters and Hashing

Lecture and notes by: Alessio Guerrieri and Wei Jin Bloom filters and Hashing Bloom filters and Hashing 1 Introduction The Bloom filter, conceived by Burton H. Bloom in 1970, is a space-efficient probabilistic data structure that is used to test whether an element is a member of

More information

Extending a Plotting Application and Finding Hardware Injections for the LIGO Open Science Center

Extending a Plotting Application and Finding Hardware Injections for the LIGO Open Science Center Extending a Plotting Application and Finding Hardware Injections for the LIGO Open Science Center Nicolas Rothbacher University of Puget Sound Mentors: Eric Fries, Jonah Kanner, Alan Weinstein LIGO Laboratory

More information

Databases 2012 Normalization

Databases 2012 Normalization Databases 2012 Christian S. Jensen Computer Science, Aarhus University Overview Review of redundancy anomalies and decomposition Boyce-Codd Normal Form Motivation for Third Normal Form Third Normal Form

More information

Slides based on those in:

Slides based on those in: Spyros Kontogiannis & Christos Zaroliagis Slides based on those in: http://www.mmds.org High dim. data Graph data Infinite data Machine learning Apps Locality sensitive hashing PageRank, SimRank Filtering

More information

In-Database Factorised Learning fdbresearch.github.io

In-Database Factorised Learning fdbresearch.github.io In-Database Factorised Learning fdbresearch.github.io Mahmoud Abo Khamis, Hung Ngo, XuanLong Nguyen, Dan Olteanu, and Maximilian Schleich December 2017 Logic for Data Science Seminar Alan Turing Institute

More information

CS 700: Quantitative Methods & Experimental Design in Computer Science

CS 700: Quantitative Methods & Experimental Design in Computer Science CS 700: Quantitative Methods & Experimental Design in Computer Science Sanjeev Setia Dept of Computer Science George Mason University Logistics Grade: 35% project, 25% Homework assignments 20% midterm,

More information

Speed up your data caches with Heisencache. Frédéric G. Marand

Speed up your data caches with Heisencache. Frédéric G. Marand Speed up your data caches with Heisencache Frédéric G. Marand CO T X E T N G N I R U S MEA N O I T A T N E M E IMPL RESULTS 3/59 heisencache-15d17 OSInet CO T X E NT on i t p e Perc Front-end dominates

More information

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0 NEC PerforCache Influence on M-Series Disk Array Behavior and Performance. Version 1.0 Preface This document describes L2 (Level 2) Cache Technology which is a feature of NEC M-Series Disk Array implemented

More information

Harvard Center for Geographic Analysis Geospatial on the MOC

Harvard Center for Geographic Analysis Geospatial on the MOC 2017 Massachusetts Open Cloud Workshop Boston University Harvard Center for Geographic Analysis Geospatial on the MOC Ben Lewis Harvard Center for Geographic Analysis Aaron Williams MapD Small Team Supporting

More information

Hybrid Machine Learning Algorithms

Hybrid Machine Learning Algorithms Hybrid Machine Learning Algorithms Umar Syed Princeton University Includes joint work with: Rob Schapire (Princeton) Nina Mishra, Alex Slivkins (Microsoft) Common Approaches to Machine Learning!! Supervised

More information

Introduction to ArcGIS Server Development

Introduction to ArcGIS Server Development Introduction to ArcGIS Server Development Kevin Deege,, Rob Burke, Kelly Hutchins, and Sathya Prasad ESRI Developer Summit 2008 1 Schedule Introduction to ArcGIS Server Rob and Kevin Questions Break 2:15

More information

Arboretum Explorer: Using GIS to map the Arnold Arboretum

Arboretum Explorer: Using GIS to map the Arnold Arboretum Arboretum Explorer: Using GIS to map the Arnold Arboretum Donna Tremonte, Arnold Arboretum of Harvard University 2015 Esri User Conference (UC), July 22, 2015 http://arboretum.harvard.edu/explorer Mission

More information

Databases Exam HT2016 Solution

Databases Exam HT2016 Solution Databases Exam HT2016 Solution Solution 1a Solution 1b Trainer ( ssn ) Pokemon ( ssn, name ) ssn - > Trainer. ssn Club ( name, city, street, streetnumber ) MemberOf ( ssn, name, city ) ssn - > Trainer.

More information

GIS Integration to Maximo

GIS Integration to Maximo GIS Integration to Maximo Tuesday 15 th January 2008 Mahmoud Jaafar Systems Director GISTEC Agenda Introduction Why AMS & GIS Integration? ESRI GIS Enabling Technology. Integrating GIS & Maximo. What do

More information

Geodatabase Replication for Utilities Tom DeWitte Solution Architect ESRI Utilities Team

Geodatabase Replication for Utilities Tom DeWitte Solution Architect ESRI Utilities Team Geodatabase Replication for Utilities Tom DeWitte Solution Architect ESRI Utilities Team 1 Common Data Management Issues for Utilities Utilities are a distributed organization with the need to maintain

More information

The World Bank and the Open Geospatial Web. Chris Holmes

The World Bank and the Open Geospatial Web. Chris Holmes The World Bank and the Open Geospatial Web Chris Holmes Geospatial is Everywhere QuickTime and a TIFF (Uncompressed) decompressor are needed to see this picture. Spatial Data Infrastructure (SDI) the sources,

More information

Introduction to ArcGIS Server - Creating and Using GIS Services. Mark Ho Instructor Washington, DC

Introduction to ArcGIS Server - Creating and Using GIS Services. Mark Ho Instructor Washington, DC Introduction to ArcGIS Server - Creating and Using GIS Services Mark Ho Instructor Washington, DC Technical Workshop Road Map Product overview Building server applications GIS services Developer Help resources

More information

Impression Store: Compressive Sensing-based Storage for. Big Data Analytics

Impression Store: Compressive Sensing-based Storage for. Big Data Analytics Impression Store: Compressive Sensing-based Storage for Big Data Analytics Jiaxing Zhang, Ying Yan, Liang Jeff Chen, Minjie Wang, Thomas Moscibroda & Zheng Zhang Microsoft Research The Curse of O(N) in

More information

Administering your Enterprise Geodatabase using Python. Jill Penney

Administering your Enterprise Geodatabase using Python. Jill Penney Administering your Enterprise Geodatabase using Python Jill Penney Assumptions Basic knowledge of python Basic knowledge enterprise geodatabases and workflows You want code Please turn off or silence cell

More information

Troubleshooting Replication and Geodata Service Issues

Troubleshooting Replication and Geodata Service Issues Troubleshooting Replication and Geodata Service Issues Ken Galliher & Ben Lin Esri UC 2014 Demo Theater Tech Session Overview What is Geodatabase Replication Replication types Geodata service replication

More information

Complete Faceting. code4lib, Feb Toke Eskildsen Mikkel Kamstrup Erlandsen

Complete Faceting. code4lib, Feb Toke Eskildsen Mikkel Kamstrup Erlandsen Complete Faceting code4lib, Feb. 2009 Toke Eskildsen te@statsbiblioteket.dk Mikkel Kamstrup Erlandsen mke@statsbiblioteket.dk Battle Plan Terminology (geek level: 1) History (geek level: 3) Data Structures

More information

GEOGRAPHY 350/550 Final Exam Fall 2005 NAME:

GEOGRAPHY 350/550 Final Exam Fall 2005 NAME: 1) A GIS data model using an array of cells to store spatial data is termed: a) Topology b) Vector c) Object d) Raster 2) Metadata a) Usually includes map projection, scale, data types and origin, resolution

More information

What s New. August 2013

What s New. August 2013 What s New. August 2013 Tom Schwartzman Esri tschwartzman@esri.com Esri UC2013. Technical Workshop. What is new in ArcGIS 10.2 for Server ArcGIS 10.2 for Desktop Major Themes Why should I use ArcGIS 10.2

More information

The conceptual view. by Gerrit Muller University of Southeast Norway-NISE

The conceptual view. by Gerrit Muller University of Southeast Norway-NISE by Gerrit Muller University of Southeast Norway-NISE e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract The purpose of the conceptual view is described. A number of methods or models is given to use

More information

Deep-dive into PyMISP MISP - Malware Information Sharing Platform & Threat Sharing

Deep-dive into PyMISP MISP - Malware Information Sharing Platform & Threat Sharing Deep-dive into PyMISP MISP - Malware Information Sharing Platform & Threat Sharing Team CIRCL http://www.misp-project.org/ Twitter: @MISPProject MISP Training @ Helsinki 20180423 Context MISP is complex

More information

Experiences and Directions in National Portals"

Experiences and Directions in National Portals FIG Seminar on e-land Administration Innsbruck/Austria 2-4 June 2004 "ESRI's Experiences and Directions in National Portals" Kevin Daugherty Cadastral/Land Records Manager ESRI Topic Points Technology

More information

CS 188: Artificial Intelligence Spring Announcements

CS 188: Artificial Intelligence Spring Announcements CS 188: Artificial Intelligence Spring 2011 Lecture 18: HMMs and Particle Filtering 4/4/2011 Pieter Abbeel --- UC Berkeley Many slides over this course adapted from Dan Klein, Stuart Russell, Andrew Moore

More information

Large-Scale Behavioral Targeting

Large-Scale Behavioral Targeting Large-Scale Behavioral Targeting Ye Chen, Dmitry Pavlov, John Canny ebay, Yandex, UC Berkeley (This work was conducted at Yahoo! Labs.) June 30, 2009 Chen et al. (KDD 09) Large-Scale Behavioral Targeting

More information

GEOGRAPHICAL INFORMATION SYSTEMS. GIS Foundation Capacity Building Course. Introduction

GEOGRAPHICAL INFORMATION SYSTEMS. GIS Foundation Capacity Building Course. Introduction GEOGRAPHICAL INFORMATION SYSTEMS. GIS Foundation Capacity Building Course. Introduction In recent times digital mapping has become part and parcel of our daily lives with experience from Google Maps on

More information

Do the middle letters of OLAP stand for Linear Algebra ( LA )?

Do the middle letters of OLAP stand for Linear Algebra ( LA )? Do the middle letters of OLAP stand for Linear Algebra ( LA )? J.N. Oliveira (joint work with H. Macedo) HASLab/Universidade do Minho Braga, Portugal SIG Amsterdam, NL 26th May 2011 Context HASLab is a

More information

/home/thierry/columbia/msongsdb/tutorials/tutorial4/tutorial4.py January 25,

/home/thierry/columbia/msongsdb/tutorials/tutorial4/tutorial4.py January 25, /home/thierry/columbia/msongsdb/tutorials/tutorial4/tutorial4.py January 25, 2011 1 26 """ 27 Thierry Bertin - Mahieux ( 2010) Columbia University 28 tb2332@ columbia. edu 29 30 This code demo the use

More information

SOCIAL MEDIA IN THE COMMUNICATIONS CENTRE

SOCIAL MEDIA IN THE COMMUNICATIONS CENTRE SOCIAL MEDIA IN THE COMMUNICATIONS CENTRE Karen Gordon Gordon Strategy www.gordonstrategy.ca v 1 WHAT WE ARE GOING TO TALK ABOUT TODAY T h e s o c i a l m e d i a i n c i d e n t W h a t c a n h a p p

More information

FACTORS AFFECTING CONCURRENT TRUNCATE

FACTORS AFFECTING CONCURRENT TRUNCATE T E C H N I C A L N O T E FACTORS AFFECTING CONCURRENT TRUNCATE DURING BATCH PROCESSES Prepared By David Kurtz, Go-Faster Consultancy Ltd. Technical Note Version 1.00 Thursday 2 April 2009 (E-mail: david.kurtz@go-faster.co.uk,

More information

Continuous Performance Testing Shopware Developer Conference. Kore Nordmann 08. June 2013

Continuous Performance Testing Shopware Developer Conference. Kore Nordmann 08. June 2013 Continuous Performance Testing Shopware Developer Conference Kore Nordmann (@koredn) 08. June 2013 About Me Kore Nordmann @koredn Co-founder of Helping people to create high quality web applications. http://qafoo.com

More information

ESPRIT Feature. Innovation with Integrity. Particle detection and chemical classification EDS

ESPRIT Feature. Innovation with Integrity. Particle detection and chemical classification EDS ESPRIT Feature Particle detection and chemical classification Innovation with Integrity EDS Fast and Comprehensive Feature Analysis Based on the speed and accuracy of the QUANTAX EDS system with its powerful

More information

Using the File Geodatabase API. Lance Shipman David Sousa

Using the File Geodatabase API. Lance Shipman David Sousa Using the File Geodatabase API Lance Shipman David Sousa Overview File Geodatabase API - Introduction - Supported Tasks - API Overview - What s not supported - Updates - Demo File Geodatabase API Provide

More information

Technical Trends in Geo Information

Technical Trends in Geo Information Technical Trends in Geo Information Joachim WIESEL 1 Introduction Geo Information Systems as a small part of the IT-Industry is a fast changing technology, driven by market demands and technical advances.

More information

D2D SALES WITH SURVEY123, OP DASHBOARD, AND MICROSOFT SSAS

D2D SALES WITH SURVEY123, OP DASHBOARD, AND MICROSOFT SSAS D2D SALES WITH SURVEY123, OP DASHBOARD, AND MICROSOFT SSAS EDWARD GAUSE, GISP DIRECTOR OF INFORMATION SERVICES (ENGINEERING APPS) HTC (HORRY TELEPHONE COOP.) EDWARD GAUSE, GISP DIRECTOR OF INFORMATION

More information

Introduction to Randomized Algorithms III

Introduction to Randomized Algorithms III Introduction to Randomized Algorithms III Joaquim Madeira Version 0.1 November 2017 U. Aveiro, November 2017 1 Overview Probabilistic counters Counting with probability 1 / 2 Counting with probability

More information

Tryton Technical Training

Tryton Technical Training Tryton Technical Training N. Évrard B 2CK September 18, 2015 N. Évrard (B 2 CK) Tryton Technical Training September 18, 2015 1 / 56 Overview and Installation Outline 1 Overview and Installation Tryton

More information

Database Systems SQL. A.R. Hurson 323 CS Building

Database Systems SQL. A.R. Hurson 323 CS Building SQL A.R. Hurson 323 CS Building Structured Query Language (SQL) The SQL language has the following features as well: Embedded and Dynamic facilities to allow SQL code to be called from a host language

More information

Data Structures. Outline. Introduction. Andres Mendez-Vazquez. December 3, Data Manipulation Examples

Data Structures. Outline. Introduction. Andres Mendez-Vazquez. December 3, Data Manipulation Examples Data Structures Introduction Andres Mendez-Vazquez December 3, 2015 1 / 53 Outline 1 What the Course is About? Data Manipulation Examples 2 What is a Good Algorithm? Sorting Example A Naive Algorithm Counting

More information

Science Analysis Tools Design

Science Analysis Tools Design Science Analysis Tools Design Robert Schaefer Software Lead, GSSC July, 2003 GLAST Science Support Center LAT Ground Software Workshop Design Talk Outline Definition of SAE and system requirements Use

More information

Large-scale Collaborative Ranking in Near-Linear Time

Large-scale Collaborative Ranking in Near-Linear Time Large-scale Collaborative Ranking in Near-Linear Time Liwei Wu Depts of Statistics and Computer Science UC Davis KDD 17, Halifax, Canada August 13-17, 2017 Joint work with Cho-Jui Hsieh and James Sharpnack

More information

ICS 233 Computer Architecture & Assembly Language

ICS 233 Computer Architecture & Assembly Language ICS 233 Computer Architecture & Assembly Language Assignment 6 Solution 1. Identify all of the RAW data dependencies in the following code. Which dependencies are data hazards that will be resolved by

More information

The File Geodatabase API. Dave Sousa, Lance Shipman

The File Geodatabase API. Dave Sousa, Lance Shipman The File Geodatabase API Dave Sousa, Lance Shipman Overview Introduction Supported Tasks API Overview What s not supported Updates Demo Introduction Example Video: City Engine Provide a non-arcobjects

More information

MapOSMatic: city maps for the masses

MapOSMatic: city maps for the masses MapOSMatic: city maps for the masses Thomas Petazzoni Libre Software Meeting July 9th, 2010 Outline 1 The story 2 MapOSMatic 3 Behind the web page 4 Pain points 5 Future work 6 Conclusion Thomas Petazzoni

More information

ArcGIS Pro Q&A Session. NWGIS Conference, October 11, 2017 With John Sharrard, Esri GIS Solutions Engineer

ArcGIS Pro Q&A Session. NWGIS Conference, October 11, 2017 With John Sharrard, Esri GIS Solutions Engineer ArcGIS Pro Q&A Session NWGIS Conference, October 11, 2017 With John Sharrard, Esri GIS Solutions Engineer jsharrard@esri.com ArcGIS Desktop The applications ArcGIS Pro ArcMap ArcCatalog ArcScene ArcGlobe

More information

Jug: Executing Parallel Tasks in Python

Jug: Executing Parallel Tasks in Python Jug: Executing Parallel Tasks in Python Luis Pedro Coelho EMBL 21 May 2013 Luis Pedro Coelho (EMBL) Jug 21 May 2013 (1 / 24) Jug: Coarse Parallel Tasks in Python Parallel Python code Memoization Luis Pedro

More information

Functional Dependencies and Normalization. Instructor: Mohamed Eltabakh

Functional Dependencies and Normalization. Instructor: Mohamed Eltabakh Functional Dependencies and Normalization Instructor: Mohamed Eltabakh meltabakh@cs.wpi.edu 1 Goal Given a database schema, how do you judge whether or not the design is good? How do you ensure it does

More information

DESIGNING AND APPLICATION OF WEB-BASED GEOGRAPHICAL INFORMATION SYSTEM FOR VISUAL ASSESSMENT OF LAND LEVELS

DESIGNING AND APPLICATION OF WEB-BASED GEOGRAPHICAL INFORMATION SYSTEM FOR VISUAL ASSESSMENT OF LAND LEVELS DOI: 10.21917/ijsc.2018.0235 DESIGNING AND APPLICATION OF WEB-BASED GEOGRAPHICAL INFORMATION SYSTEM FOR VISUAL ASSESSMENT OF LAND LEVELS Ri NamSong, Choe JongAe and Kim Jonggun Institute of Information

More information

Geometric Algorithms in GIS

Geometric Algorithms in GIS Geometric Algorithms in GIS GIS Visualization Software Dr. M. Gavrilova GIS Software for Visualization ArcView GEO/SQL Digital Atmosphere AutoDesk Visual_Data GeoMedia GeoExpress CAVE? Visualization in

More information

K D A A M P L I F I E R S F I R M W A R E U S E R G U I D E

K D A A M P L I F I E R S F I R M W A R E U S E R G U I D E K D A A M P L I F I E R S F I R M W A R E U S E R G U I D E T A B L E O F C O N T E N T S S E C T I O N 1 : P R E PA R I N G Y O U R F I L E S Via Network Router 3 S E C T I O N 2 : A C C E S S I N G T

More information

Ákos Tarcsay CHEMAXON SOLUTIONS

Ákos Tarcsay CHEMAXON SOLUTIONS Ákos Tarcsay CHEMAXON SOLUTIONS FINDING NOVEL COMPOUNDS WITH IMPROVED OVERALL PROPERTY PROFILES Two faces of one world Structure Footprint Linked Data Reactions Analytical Batch Phys-Chem Assay Project

More information

From BASIS DD to Barista Application in Five Easy Steps

From BASIS DD to Barista Application in Five Easy Steps Y The steps are: From BASIS DD to Barista Application in Five Easy Steps By Jim Douglas our current BASIS Data Dictionary is perfect raw material for your first Barista-brewed application. Barista facilitates

More information

Geodatabase 101 Why, What, & How

Geodatabase 101 Why, What, & How Geodatabase 101 Why, What, & How Beau Dealy Dealy Geomatics, LC beau@dealygeo.com Curt Moore InfiniTec, Inc. cmoore@infinitec.net ... first, a brief explanation. Geodata traditionally stored as two components

More information

Are You Maximizing The Value Of All Your Data?

Are You Maximizing The Value Of All Your Data? Are You Maximizing The Value Of All Your Data? Using The SAS Bridge for ESRI With ArcGIS Business Analyst In A Retail Market Analysis SAS and ESRI: Bringing GIS Mapping and SAS Data Together Presented

More information

Update and Modernization of Sales Tax Rate Lookup Tool for Public and Agency Users. David Wrigh

Update and Modernization of Sales Tax Rate Lookup Tool for Public and Agency Users. David Wrigh Update and Modernization of Sales Tax Rate Lookup Tool for Public and Agency Users David Wrigh GIS at the Agency Introduction Who we are! George Alvarado, David Wright, Marty Parsons and Bob Bulgrien make

More information

Making interoperability persistent: A 3D geo database based on CityGML

Making interoperability persistent: A 3D geo database based on CityGML Making interoperability persistent: A 3D geo database based on CityGML Alexandra Stadler, Claus Nagel, Gerhard König, Thomas H. Kolbe Technische Universität Berlin Chair of Geoinformation Science Motivation

More information

Geodatabase Essentials Part One - Intro to the Geodatabase. Jonathan Murphy Colin Zwicker

Geodatabase Essentials Part One - Intro to the Geodatabase. Jonathan Murphy Colin Zwicker Geodatabase Essentials Part One - Intro to the Geodatabase Jonathan Murphy Colin Zwicker Session Path The Geodatabase - What is it? - Why use it? - What types are there? Inside the Geodatabase Advanced

More information

A Tutorial On Backward Propagation Through Time (BPTT) In The Gated Recurrent Unit (GRU) RNN

A Tutorial On Backward Propagation Through Time (BPTT) In The Gated Recurrent Unit (GRU) RNN A Tutorial On Backward Propagation Through Time (BPTT In The Gated Recurrent Unit (GRU RNN Minchen Li Department of Computer Science The University of British Columbia minchenl@cs.ubc.ca Abstract In this

More information

MassHunter Software Overview

MassHunter Software Overview MassHunter Software Overview 1 Qualitative Analysis Workflows Workflows in Qualitative Analysis allow the user to only see and work with the areas and dialog boxes they need for their specific tasks A

More information

Announcements. CS 188: Artificial Intelligence Fall VPI Example. VPI Properties. Reasoning over Time. Markov Models. Lecture 19: HMMs 11/4/2008

Announcements. CS 188: Artificial Intelligence Fall VPI Example. VPI Properties. Reasoning over Time. Markov Models. Lecture 19: HMMs 11/4/2008 CS 88: Artificial Intelligence Fall 28 Lecture 9: HMMs /4/28 Announcements Midterm solutions up, submit regrade requests within a week Midterm course evaluation up on web, please fill out! Dan Klein UC

More information

CS425: Algorithms for Web Scale Data

CS425: Algorithms for Web Scale Data CS425: Algorithms for Web Scale Data Most of the slides are from the Mining of Massive Datasets book. These slides have been modified for CS425. The original slides can be accessed at: www.mmds.org Challenges

More information

CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis

CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis 1. Relations in BDDs 2. Datalog -> Relational Algebra 3. Relational Algebra -> BDDs 4. Context-Sensitive Pointer Analysis 5. Performance

More information

Data Analytics Beyond OLAP. Prof. Yanlei Diao

Data Analytics Beyond OLAP. Prof. Yanlei Diao Data Analytics Beyond OLAP Prof. Yanlei Diao OPERATIONAL DBs DB 1 DB 2 DB 3 EXTRACT TRANSFORM LOAD (ETL) METADATA STORE DATA WAREHOUSE SUPPORTS OLAP DATA MINING INTERACTIVE DATA EXPLORATION Overview of

More information

Performing Advanced Cartography with Esri Production Mapping

Performing Advanced Cartography with Esri Production Mapping Esri International User Conference San Diego, California Technical Workshops July 25, 2012 Performing Advanced Cartography with Esri Production Mapping Tania Pal & Madhura Phaterpekar Agenda Outline generic

More information

CS 347. Parallel and Distributed Data Processing. Spring Notes 11: MapReduce

CS 347. Parallel and Distributed Data Processing. Spring Notes 11: MapReduce CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 11: MapReduce Motivation Distribution makes simple computations complex Communication Load balancing Fault tolerance Not all applications

More information

Dealing with Text Databases

Dealing with Text Databases Dealing with Text Databases Unstructured data Boolean queries Sparse matrix representation Inverted index Counts vs. frequencies Term frequency tf x idf term weights Documents as vectors Cosine similarity

More information

Esri WebGIS Highlights of What s New, and the Road Ahead

Esri WebGIS Highlights of What s New, and the Road Ahead West Virginia GIS Conference WVU, Morgantown, WV Esri WebGIS Highlights of What s New, and the Road Ahead Mark Scott, Solutions Engineer, Esri Local Government Team May 5 th, 2016 West Virginia GIS Conference

More information

Assembly and Operation Manual. April 2016

Assembly and Operation Manual. April 2016 Assembly and Operation Manual April 2016 Table of Contents What is in the OurWeather Box? 3 Step by Step Assembly 13 Building the Weather Sensors 18 Testing the OurWeather Weather Station 28 Power Up OurWeather

More information

Homework Assignment 2. Due Date: October 17th, CS425 - Database Organization Results

Homework Assignment 2. Due Date: October 17th, CS425 - Database Organization Results Name CWID Homework Assignment 2 Due Date: October 17th, 2017 CS425 - Database Organization Results Please leave this empty! 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.15 2.16 2.17 2.18 2.19 Sum

More information

Performance Metrics for Computer Systems. CASS 2018 Lavanya Ramapantulu

Performance Metrics for Computer Systems. CASS 2018 Lavanya Ramapantulu Performance Metrics for Computer Systems CASS 2018 Lavanya Ramapantulu Eight Great Ideas in Computer Architecture Design for Moore s Law Use abstraction to simplify design Make the common case fast Performance

More information