{"id":28661,"date":"2023-10-10T12:48:25","date_gmt":"2023-10-10T10:48:25","guid":{"rendered":"https:\/\/risc.web-email.at\/referenzprojekte\/referenzprojekt-mowis\/"},"modified":"2025-09-16T08:55:28","modified_gmt":"2025-09-16T06:55:28","slug":"scaleable-weather-database","status":"publish","type":"project","link":"https:\/\/risc.web-email.at\/en\/referenceprojects\/scaleable-weather-database\/","title":{"rendered":"Scalable weather database for wetter.at and wetter-deutschland.com"},"content":{"rendered":"\n<p class=\"has-medium-font-size\">Reliable and accurate weather forecasts are essential for planning personal leisure activities as well as for many companies and organizations. <strong>Therefore<\/strong>, Mobile World Information Systems GmbH (MOWIS) provides weather data services, including the operation of wetter.at and wetter-deutschland.com.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>RISC Software GmbH developed the central data management system for MOWIS. Since 2011, the system has been continuously maintained and expanded as needed. Its core is the NoSQL database HBase, which is based on a Hadoop cluster. Current weather data from several sources \u2013 such as forecast models and measurements from weather stations \u2013 are continuously fed into this database. Consequently, users can retrieve interactive weather forecasts worldwide up to fourteen days in advance.<\/p>\n\n\n\n<p>The system dynamically selects the most suitable database for each forecast and combines data from different sources. In addition, already retrieved data is cached to accelerate queries. An XML-based interface enables web services to retrieve forecasts. Moreover, Apache Hive provides SQL access for flexible queries on stored location data, mainly used by MOWIS for interactive data quality control.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/iStock_foto-deckblatt-1024x683.jpg\" alt=\"\" class=\"wp-image-28689\" srcset=\"https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/iStock_foto-deckblatt-1024x683.jpg 1024w, https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/iStock_foto-deckblatt-300x200.jpg 300w, https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/iStock_foto-deckblatt-768x512.jpg 768w, https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/iStock_foto-deckblatt-1536x1024.jpg 1536w, https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/iStock_foto-deckblatt.jpg 1920w\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Ongoing data import and export<\/h3>\n\n\n\n<p>The HBase data stock is continuously updated through the import of forecast model results and weather station measurements. Each dataset is converted into a structured text representation, which allows the use of Hadoop MapReduce and HBase bulk imports. Thus, a high-resolution Austrian weather forecast model can be imported within five minutes and made available almost immediately. A global weather data model with daily forecasts can be imported in fifteen minutes. By comparison, the replaced SQL database required several hours for similar imports.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Design of a suitable data model<\/h3>\n\n\n\n<p>In order to perform queries interactively, the data model was adapted to the queries, allowing, for example, a quick query for a location. To make a NoSQL database effectively usable, the design of a data model optimized for the planned queries is central. Therefore, at the beginning of the project, the planned queries were defined together with the domain experts of the company MOWIS. On this basis, the data model for HBase was defined, which in particular allows fast queries on individual locations and, on the other hand, enables automated removal of data that is no longer required. In order to enable efficient access via other attributes, numerous lookup tables were also implemented. The use of a Big Data system allows the flexible adaptation or extension of the data model, if new queries are needed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Acceleration and cost savings compared to legacy SQL database.<\/h3>\n\n\n\n<p>By switching to a Hadoop-based NoSQL solution, an additional forecast model for worldwide weather data could be introduced, as well as data imports as well as exports accelerated by a factor of seven. This makes it possible to retrieve worldwide weather forecasts interactively or to export current weather forecasts for the whole of Austria and Germany for the above-mentioned websites. For this purpose, both the imports of the different weather models and the exports of the data updates for wetter.at use Hadoop Map-Reduce jobs to execute the creation of the current weather forecasts for all of Austria and Germany on the Hadoop cluster in parallel.<\/p>\n\n\n\n<p>The use of Hadoop brings the following advantages here:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>As the amount of data grows, simple and inexpensive scaling of the system by adding new compute nodes to the cluster.<\/li>\n\n\n\n<li>The use of an OpenSource technology makes it possible to save significant licensing costs compared to classic commercial database offerings.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h2 class=\"wp-block-heading\">Project partner<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" width=\"512\" height=\"512\" sizes=\"(max-width: 512px) 100vw, 512px\" src=\"https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/MOWIS_Logo_WORLD_rgb20140305-31127-31mehl.jpg\" alt=\"\" class=\"wp-image-28659\" style=\"width:256px;height:256px\" srcset=\"https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/MOWIS_Logo_WORLD_rgb20140305-31127-31mehl.jpg 512w, https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/MOWIS_Logo_WORLD_rgb20140305-31127-31mehl-300x300.jpg 300w, https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/MOWIS_Logo_WORLD_rgb20140305-31127-31mehl-150x150.jpg 150w\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column has-risc-grey-background-color has-background is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<h2 class=\"wp-block-heading\">Project details<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Project partner<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Mobile World Information Systems GmbH (MOWIS) <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Duration:<\/strong>&nbsp;201 0- ongoing<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h2 class=\"wp-block-heading\">Contact<\/h2>\n\n\n\n<div class=\"wp-block-contact-form-7-contact-form-selector\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f663-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"663\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/project\/28661#wpcf7-f663-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"663\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f663-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"form-row\">\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-name\">Your name <\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" id=\"your-name\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Name\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-email\">Your email<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" id=\"your-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"E-Mail\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<div class=\"form-row\">\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-company\">Company <\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-company\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"your-company\" aria-invalid=\"false\" placeholder=\"Unternehmen\" value=\"\" type=\"text\" name=\"your-company\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-position\">Position<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-position\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"Position\" value=\"\" type=\"text\" name=\"your-position\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<div class=\"form-row\">\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-subject\"> Subject <\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-subject\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" id=\"your-subject\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Thema\" value=\"\" type=\"text\" name=\"your-subject\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<p><span id=\"wpcf7-69de2087a78c5-wrapper\" class=\"wpcf7-form-control-wrap phone-95-wrap\" style=\"display:none !important; visibility:hidden !important;\"><label for=\"wpcf7-69de2087a78c5-field\" class=\"hp-message\">Please leave this field empty.<\/label><input id=\"wpcf7-69de2087a78c5-field\"  class=\"wpcf7-form-control wpcf7-text\" type=\"text\" name=\"phone-95\" value=\"\" size=\"40\" tabindex=\"-1\" autocomplete=\"new-password\" \/><\/span><br \/>\n<label class=\"sr-only\" for=\"your-message\"> Your message (optional)<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" id=\"your-message\" aria-invalid=\"false\" placeholder=\"Ihre Nachricht an uns\" name=\"your-message\"><\/textarea><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"hcap-cf7\">\t\t<input\n\t\t\t\ttype=\"hidden\"\n\t\t\t\tclass=\"hcaptcha-widget-id\"\n\t\t\t\tname=\"hcaptcha-widget-id\"\n\t\t\t\tvalue=\"eyJzb3VyY2UiOlsiY29udGFjdC1mb3JtLTdcL3dwLWNvbnRhY3QtZm9ybS03LnBocCJdLCJmb3JtX2lkIjo2NjN9-5cf29316f0fc31f5a29d11a228757560\">\n\t\t\t\t<span id=\"hcap_cf7-69de2087a7dcc7.64592907\" class=\"wpcf7-form-control h-captcha \"\n\t\t\tdata-sitekey=\"3a6a81c1-2b2e-4b2a-b1eb-d9446bc09afb\"\n\t\t\tdata-theme=\"light\"\n\t\t\tdata-size=\"normal\"\n\t\t\tdata-auto=\"false\"\n\t\t\tdata-ajax=\"false\"\n\t\t\tdata-force=\"false\">\n\t\t<\/span>\n\t\t<input type=\"hidden\" id=\"_wpnonce\" name=\"_wpnonce\" value=\"83fc09d92f\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/project\/28661\" \/><\/span><input class=\"wpcf7-form-control wpcf7-submit has-spinner btn\" type=\"submit\" value=\"Senden\" \/>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<h2 class=\"wp-block-heading\">Project management<\/h2>\n\n\n<div class=\"contact-person\">\n      <picture>\n      \n      \n      \n      \n      <img decoding=\"async\" data-aos=\"fade-zoom-in\"\n           data-aos-offset=\"0\" class=\"w-full\" width=\"212\" height=\"293\"\n           src=\"https:\/\/risc.web-email.at\/app\/uploads\/2023\/06\/pheinzlr1-removebg-preview.png\"\n           alt=\"\">\n    <\/picture>\n    \n\n<h5 class=\"wp-block-heading\">DI Paul Heinzlreiter<\/h5>\n\n\n\n<p>Senior Data Engineer<\/p>\n\n  <\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Read more<\/h2>\n\n\n<div class=\"posts-slider-block\" data-aos=\"fade-up\" data-aos-offset=\"0\" data-aos-anchor-placement=\"top-bottom\">\n        <section class=\"splide posts-slider\" aria-label=\"Gallery Slides\">\n            <div class=\"splide__arrows\">\n                <button class=\"splide__arrow splide__arrow--prev\">\n                    <span class=\"sr-only\">Previous<\/span>\n                    <img decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"21\" src=\"https:\/\/risc.web-email.at\/app\/themes\/risc-theme\/public\/images\/icon-arrow.35d2ec.svg\"\n                         alt=\"Previous\">\n                <\/button>\n                <button class=\"splide__arrow splide__arrow--next\">\n                    <span class=\"sr-only\">Next<\/span>\n                    <img decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"21\" src=\"https:\/\/risc.web-email.at\/app\/themes\/risc-theme\/public\/images\/icon-arrow.35d2ec.svg\"\n                         alt=\"Next\">\n                <\/button>\n            <\/div>\n            <div class=\"inner\">\n                <div class=\"splide__track\">\n                    <div class=\"splide__list\">\n\n                                                    <a href=\"https:\/\/risc.web-email.at\/en\/technicalarticles\/technical-article-mastering-the-industrial-data\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                                                                                <picture>\n                                                                                        <img decoding=\"async\" src=\"https:\/\/risc.web-email.at\/app\/uploads\/2023\/07\/iStock-858527512-1-360x214.jpg\"\n                                                 alt=\"Mastering the (industrial) Data (EN)\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>Mastering the (industrial) Data (EN)<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        How improved manufacturing is created from industrial and production process data.\n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                                    <a href=\"https:\/\/risc.web-email.at\/en\/technicalarticles\/technical-article-data-quality\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                                                                                <picture>\n                                                                                        <img decoding=\"async\" src=\"https:\/\/risc.web-email.at\/app\/uploads\/2023\/06\/iStock-1200230502-360x214.jpg\"\n                                                 alt=\"Data quality: From information flow to information content\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>Data quality: From information flow to information content<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        Making decisions is not always easy &#8211; a possible quick win for companies can be derived from company data: future-oriented data quality management, a process that unfortunately often receives far too little attention.\n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                                    <a href=\"https:\/\/risc.web-email.at\/en\/technicalarticles\/technical-article-data-quality-in-practice\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                                                                                <picture>\n                                                                                        <img decoding=\"async\" src=\"https:\/\/risc.web-email.at\/app\/uploads\/2023\/06\/iStock-494345930-360x214.jpg\"\n                                                 alt=\"Data quality in practice\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>Data quality in practice<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        One of the central goals of data engineering is the preparation of data sets according to the requirements of the users or the subsequent process steps. The use of data can range from model training in the field of machine learning to improved internal company reporting based on an integrated database.\n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                                    <a href=\"https:\/\/risc.web-email.at\/en\/technicalarticles\/technical-article-data-engineering-the-solid-basis-for-effective-data-utilization\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                                                                                <picture>\n                                                                                        <img decoding=\"async\" src=\"https:\/\/risc.web-email.at\/app\/uploads\/2023\/06\/iStock-966899060-1-360x214.jpg\"\n                                                 alt=\"Data Engineering \u2013 the solid basis for effective data utilization\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>Data Engineering \u2013 the solid basis for effective data utilization<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        Data engineering integrates data from a wide variety of sources and makes them effectively usable. This makes it a prerequisite for effective data science, machine learning and artificial intelligence, especially in the big data area.\n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                            <\/div>\n                <\/div>\n            <\/div>\n        <\/section>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Reliable and accurate weather forecasts are essential for planning personal leisure activities as well as for numerous companies and organizations. Mobile World Information Systems GmbH (MOWIS) provides weather data services, including operating the wetter.at and wetter-deutschland.com websites.<\/p>\n","protected":false},"featured_media":28689,"template":"","project-category":[62,70,67,71],"class_list":["post-28661","project","type-project","status-publish","has-post-thumbnail","hentry","project-category-b2b-processes-and-web-applications-en","project-category-customer-projects","project-category-kundenprojekte","project-category-kundenprojekte-en"],"acf":[],"portrait_thumb_url":"https:\/\/risc.web-email.at\/app\/uploads\/2023\/10\/iStock_foto-deckblatt-360x214.jpg","watermark":false,"_links":{"self":[{"href":"https:\/\/risc.web-email.at\/en\/wp-json\/wp\/v2\/project\/28661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/risc.web-email.at\/en\/wp-json\/wp\/v2\/project"}],"about":[{"href":"https:\/\/risc.web-email.at\/en\/wp-json\/wp\/v2\/types\/project"}],"version-history":[{"count":1,"href":"https:\/\/risc.web-email.at\/en\/wp-json\/wp\/v2\/project\/28661\/revisions"}],"predecessor-version":[{"id":34654,"href":"https:\/\/risc.web-email.at\/en\/wp-json\/wp\/v2\/project\/28661\/revisions\/34654"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/risc.web-email.at\/en\/wp-json\/wp\/v2\/media\/28689"}],"wp:attachment":[{"href":"https:\/\/risc.web-email.at\/en\/wp-json\/wp\/v2\/media?parent=28661"}],"wp:term":[{"taxonomy":"project-category","embeddable":true,"href":"https:\/\/risc.web-email.at\/en\/wp-json\/wp\/v2\/project-category?post=28661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}