Not only Structured Query Language Method of Ad Request Processing

V.A. Nikolaiev
VertaMedia Company
(224 West 35th St., Suite 1102-5, New York, NY10001, USA,,
O.I. Konashevych, post-graduate
Pukhov Institute for Modeling in Energy Engineering
(15, General Naumov St., Kyiv, 03164, Ukraine,

Èlektron. model. 2017, 39(1):105-112


VertaMedia Company’s server provides operation of advertising exchange system between publishers (site’s owners), advertisers and intermediaries (SSP1 and DSP2 platforms). The objective of the system server is to process a request from a Publisher’s site as quickly as possible, choosing the most relevant advertisement campaign, to show it to a site’s user. The system works real-time online and as faster it makes accurate choice, the more likely that a user will see an advertisement. The obvious solution was to use relational database to compare the parameters of queries with the parameters and settings of ad campaigns, stored in this database. However, it turned out to be unsuitable as such system showed high latency. VertaMediaTM programmers have found an original way to process data, in which comparison occurred in a flat table using the hash sum and a binary tree for matching ad campaigns and another part of the request, which contained a set of keywords/tags was processed by Sphinx Search as local software solution. A method incorporates the original decision to work with database management systemless non-relational tables and use of specialized software solutions for matching keywords. It showed remarkable results in performance of a resource-intensive process, as described in detail in the article.


not only structured query language (noSQL), statistics, information technologies, big data, statistical process control.


1. ‘Ad inventory’ definition of the Interactive Advertising Bureau, available at: (accessed August 1, 2016).
2. ‘Ad network’ definition of the Interactive Advertising Bureau, available at: (accessed August 1, 2016).
3. Gray, J. (1981), “The transaction concept: Virtues and limitations”, Proceedings of the 7th International Conference on Very Large Databases, “Tandem Computers”, pp. 144-154, available at: (accessed August 1, 2016).
4. (accessed August 1, 2016).
5. (accessed August 1, 2016).
6. (accessed August 1, 2016).
7. Date, C.J. (2003), An introduction to database systems, 8th edition, available at:
C00YTBlLWFmZjQtMzg1YzNiOWFlYjlj&ddrp=1# (accessed August 1, 2016).
8. Codd, E.F. (1970), “A relational model of data for large shared data banks”, Communications of the ACM, Vol. 13, no. 6, pp. 377-387. doi:10.1145/362384.362685.
9. McCreary, D. and Kelly, A. (2013), Making sense of NoSQL: A guide for managers and the rest of us, Manning Publications, Greenwich, Connecticut, USA.
10. Redmond, E. and Wilson, J. (2012), Seven databases in seven weeks: A guide to modern databases and the NoSQL movement, 1st edition, ISBN-13:978-1934356920, ISBN-10: 1934356921.
11. Jansen, B.J. and Rieh, S. (2010), “The seventeen theoretical constructs of information searching and information retrieval”, Journal of the American Society for Information Sciences and Technology, Vol. 61, no. 8, pp. 1517-1534, available at: (accessed August 1, 2016).
12. (accessed August 1, 2016).
13. “AskMonty: About SphinxSE”. Monty Program AB, available at: August 1, 2016).
14. Konheim, A. (2010), 7. Hashing for storage: Data management. Hashing in computer science:Fifty years of slicing and dicing, Wiley-Interscience, ISBN 9780470344736.
15. Vaish, G. (2013), Getting started with NoSQL, Packt Publishing, ISBN 978-1-84969-498-8.

Full text: PDF (in Russian)