Netherlands

4 days / 20 talks
Awesome and great speakers

November 3-8
https://i2.wp.com/www.omnisworld.co.uk/wp-content/uploads/2016/02/DougEasterbrook.jpg?fit=320%2C320&ssl=1

Doug Easterbrook

Studio and Postgres are part of the software stack used by Arts Management Systems. We’ve expended a great deal of effort to make a high availability, high performance application capable of millions of daily transactions. Our ticketing software, Theatre Manager, has sold events like Elton John, Bob Dylan, Phantom of the Opera, Hamilton, Miss Saigon, Shania Twain, Book of Mormon, curling, hockey, basketball and much more.

Doug designed the first version of Theatre Manager using Omnis 3.3+. The ever increasing need for performance, capacity and resilience led to Postgres, workers, performance testing, tool creation and continuous application improvements through to Studio 11.2.

There will be one session on text search and one session on performance optimization. Sample libraries will given to all participants, representing decades of proven code.

For over 3 decades, Arts Management Systems has proudly to contributed ideas, technology, tools and thoughts to the Omnis Community in many areas – and – learning something new at every Euromnis to bring back into their software.


Postgres Text Search

Using the built in Postgres text search capabilities to find and rank data for the user

Text search is traditionally thought of as finding the needle in a haystack within large text documents in your database.

Instead, what if you could search any number of fields in any record joined across different tables, rank the results and present them to the user from most likely to least likely — simply by treating your main data columns as a single document.   Effectively, this implements a powerful Google like search tool within your application with only a little effort.

Text search

  • looks for words, partial words, and/or phrases in any order in your data
  • supports search conditionals: and, or, not, adjacency of words, phrases
  • provides easy ways to make the query from user input (without editing it)
  • supports synonyms in the search terms
  • ignores plurality in text by reducing it to the ‘root’ of the word
  • ranks results in order of appropriateness
  • formats the results for display on the web or headed lists
  • highlights the context of the searched words within the result
  • performs comparably to like searches on and indexed field

The session will cover

  • the concepts behind text search
  • examples to illustrate the concepts and how they work
  • stored procedures that can be dropped into your database (templates provided)
  • triggers to maintain keep the text search data current with the data fields
  • creation of GIS indexes for the text search field
  • techniques for text searching across tables where part of the data is in one table and the rest is in one or more other tables.
  • a sample window showing full implementation and presentation of results

Doug suggests attendees bring a copy of their application and test database. If time permits, participants could attempt a hands on implementation of a sample text search during the session.

Postgres


Postgres, table classes, caching, and performance optimization

Table classes, performance tips and latency, caching, listen-notify, time zone support and more

There are a number of techniques that can squeeze performance out of an application.   Some are design, some are creative use of technology and some require knowing how Studio works internally.

This session is a compendium of ‘greatest-hits’ topics about effective use of postgres.   At Euromnis 2023, the material covered two full jam-packed sessions.   This year, Doug will distill the main ideas into one session highlighting those that are most useful and/or most pertinent per the attendee’s request.

Topics related to table classes and methods overridden for performance:

  • performance analyzer
  • automating joins
  • limiting data traffic
  • using ‘Returning’ for 15%+ performance improvement
  • replacing text in the SQL statement with functions to make derived columns for lists
  • updating using query classes to simplify code
  • useful modifications to $insert, $update, $delete to ignore DB traffic if nothing significant changes
  • setting defaults for data and setting defaults for primary keys
  • reducing latency and other tricks

Topics focusing on caching, listen-notify, time zone support, etc.

  • caching as a natural addition to performance including
    • strategies for types of caching
    • strategies for cache invalidation
  • listen-notify
    • to avoid unnecessary polling
    • or to invalidate cache and force reread
  • time zone support made very easy
  • worker patterns and the benefit of breaking up code into multiple workers
  • determining existence of child records en masse for edit checks
  • advisory locks vs lock for update
  • using upserts to simplify data insertion

Postgres


Packages

How you can deliver your software solution as a single clickable install.


Make

Connection

Follow Doug


Meet

Company



About workshops

Format

You’ll sign up for the session you want to attend on a first-come, first-served basis. Up to 6 participants may attend a session, if full, you can sign up for the same topic at a different time. During the session, the speaker will guide the audience through the main topic but you will be able to ask him/her to deviate and cover related areas. Sometimes participants offer new ideas and solutions to a problem.



Check the

Speakers

Pursue any question or area not directly related to the core topic. Every speaker hosts at least 4 sessions which means there are about 11 to 12 simultaneous sessions running all the time with an average of 5 or 6 participants

Meet the Speakers


Check the

Schedule

Flexible conference format means you can choose the best classes for you and at the best time. Some sessions will be repeated, so when you miss one, you can attend the same session later in the day or the week.

Check the Schedule