This work was carried out for Cisco at the Tail-f department. Cisco’s main focus is on network and telecommunication. The Tail-f department is the developer of a network service automatization product that allows customers to automate the process of adding, removing and manage their developed devices and services in their network. In the context of this network service, notifications will arise to notify operators when something has happened. The notifications are currently stored in a configurational database that is currently used for all the data in the network service. The customers have wished for more flexibility and functionality in terms of operating the notification data since they are limited in what queries they may perform in order to analyze their data. The purpose of this project is to find an alternative way of storing the notifications with better functionality and efficiency. A number of different databases were investigated with respect to the functionality and performance requirements of the system. A final storage system ElasticSearch was chosen. ElasticSearch provides flexible schema handling and complex queries which makes it a suitable choice that fulfills the customers’ needs. A generator and subscriber program were built in order to perform tests and insertion of notification data into ElasticSearch. The generator creates notifications manually and the subscriber receives them and performs some parsing and insertion into the storage. The queries and performance of ElasticSearch was measured. The query results show that the new system is able to perform much more complex queries than before such as range queries, filtering and full-text searches. The performance results show that the system is able to handle around 1000 notifications every other millisecond before the system will slow down. This is a sufficient number that satisfies the customers’ needs. / Detta arbete utfördes för Cisco vid Tail-f avdelningen. Cisco fokuserar på nätoch telekommunikation. Tail-f är utvecklare av en automatiseringsprodukt för nätverk som gör det möjligt för kunder att automatisera processen att lägga till, ta bort och hantera sina utvecklade enheter och tjänster i deras nätverk. I samband med nätverkstjänsten kommer notifikationer att meddela operatörer när något har hänt.Meddelandena lagras för tillfället i en konfigurationsdatabas som för närvarande används för lagring av all data inom nätverkstjänsten. Kunderna har önskat efter mer flexibilitet och funktionalitet när det gäller att hantera datat eftersom de är begränsade i vilka sökfrågor de kan utföra för att analysera deras notifikationsdata.Syftet med detta projekt är att hitta ett alternativt sätt att lagra notifikationerna med bättre funktionalitet och effektivitet. Ett antal olika databaser undersöktes med avseende på systemets funktionalitet och prestandakrav. Ett slutgiltigt lagringssystem ElasticSearch valdes. ElasticSearch erbjuder flexibel schema-hantering och komplexa sökfrågor som gör det till ett lämpligt val som uppfyller kundernas behov. En generator och subscriber program utvecklades för att utföra test och införande av notifikationsdata i ElasticSearch. Generatorn skapar meddelanden manuellt och subscribern tar emot dem och utför viss parsing och insättning i lagringssystemet.Sökfrågor och prestanda för ElasticSearch mättes. Sökfrågans resultat visar att det nya systemet kan utföra mycket mer komplexa sökfrågor än tidigare, såsom intervall-sökningar, filtrering och full-text sökning. Resultatet visar att systemet kan hantera cirka 1000 notifikationer varannan millisekund innan systemet saktar ner. Detta är ett tillräckligt antal som uppfyller kundernas behov.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-254676 |
Date | January 2019 |
Creators | Ghourchian, Isabel |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2019:475 |
Page generated in 0.0015 seconds