{"id":7847,"date":"2019-08-29T09:28:29","date_gmt":"2019-08-29T09:28:29","guid":{"rendered":"https:\/\/www.crossjoin.pt\/?p=7847"},"modified":"2019-08-29T09:28:29","modified_gmt":"2019-08-29T09:28:29","slug":"sql-server-2019-big-data-clusters","status":"publish","type":"post","link":"https:\/\/crossjoin.com\/pt\/sql-server-2019-big-data-clusters\/","title":{"rendered":"SQL Server 2019 Big Data Clusters"},"content":{"rendered":"<p>[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; overlay_strength=&#8221;0.3&#8243; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_position=&#8221;all&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_link_target=&#8221;_self&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221; bg_image_animation=&#8221;none&#8221;]<hr class=\"no_line\" style=\"margin: 0 auto 0px auto\"\/>\n[vc_column_text]<img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-7848 alignleft\" src=\"https:\/\/www.crossjoin.pt\/wp-content\/uploads\/2019\/08\/site-100-1-1024x683.jpg\" alt=\"SQL Server\" width=\"1024\" height=\"683\" \/>[\/vc_column_text][vc_column_text]<\/p>\n<h6><span style=\"color: #ff0000;\"><span style=\"color: #999999;\">by<\/span> Andr\u00e9 Batista <\/span><span style=\"color: #999999;\">Infrastructure Delivery Manager\u00a0<\/span><\/h6>\n<p><span style=\"color: #000000;\"><strong>SQL Server 2019 Big Data Cluster (Preview Feature)<br \/>\nPart 1<\/strong><\/span><\/p>\n<p><span style=\"color: #000000;\">Over the years, Microsoft&#8217;s data platform has kept pace with industry developments by adding native support in the database engine, XML data, JSON, in-memory, and database &#8220;graphs&#8221; technology. All customers and businesses can count on high performance, high availability and security in integrating all these technologies and features that the data platform provides. However, in the origins of the relational data engine-based data platform, the use of petabyte or exabyte-scale analytics had never been contemplated.<\/span><\/p>\n<p><span style=\"color: #000000;\">Also, it was never designed to use &#8220;scale-out&#8221; computation for data processing or machine learning or even to analyze data in unstructured formats such as media files.<\/span><\/p>\n<p><span style=\"color: #000000;\">This functionality of bringing together all these technologies and architectures in the data platform, Microsoft has called <strong>Big Data Clusters (BDC)<\/strong> that are embedded within SQL Server.<\/span><\/p>\n<p><span style=\"color: #000000;\">This feature is currently in &#8220;preview&#8221; just like the actual version of <strong>SQL Server 2019<\/strong> <strong>Community Technology Preview 3.2 (CTP 3.2).<\/strong><\/span><\/p>\n<p><span style=\"color: #000000;\">There are some curiosities and cool things in the currently available version of BDC but they can still be improved and changed until the final release of SQL Server 2019 (should be released due in the second half of 2019).<\/span><\/p>\n<p><strong><span style=\"color: #000000;\">&#8211; Runs in Kubernetes.<\/span><\/strong><br \/>\n<strong><span style=\"color: #000000;\">&#8211; Integrates with the use of &#8220;sharding&#8221; in the SQL Server engine.<\/span><\/strong><br \/>\n<strong><span style=\"color: #000000;\">&#8211; Integrates also with HDFS<\/span><\/strong><br \/>\n<strong><span style=\"color: #000000;\">&#8211; Uses Apache Spark<\/span><\/strong><br \/>\n<strong><span style=\"color: #000000;\">&#8211; Spark and HDFS services run over the Apache Knox Gateway.<\/span><\/strong><\/p>\n<p><span style=\"color: #000000;\">On top of all this, by using Polybase, we can connect to multiple data sources like Oracle, Teradata, MongoDB, and many others.<\/span><\/p>\n<p><span style=\"color: #000000;\">Briefly, Microsoft with BDC aims to make available to all its users and customers a platform that is scalable, highly performant, secure and robust integrating SQL, Data Warehouse, Data Lake and Data Science technologies. BDC is available in both &#8220;cloud&#8221; and &#8220;on-premise&#8221;.<\/span><\/p>\n<p><span style=\"color: #000000;\">Here is a map of the ecosystem on which Microsoft relied to design and implement the BDC.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-7852 aligncenter\" src=\"https:\/\/www.crossjoin.pt\/wp-content\/uploads\/2019\/08\/SQL-Server-1024x496.png\" alt=\"SQL Server Big Data Cluster\" width=\"1024\" height=\"496\" \/><\/span><\/p>\n<p><span style=\"color: #000000;\">Talking a little more about each of the implemented technologies and architectures:<\/span><\/p>\n<p><strong><span style=\"color: #000000;\">&#8211; SQL Server instance:<\/span><\/strong><\/p>\n<p><span style=\"color: #000000;\">When we deployed clustered SQL Server instance 2019 in Kubernetes, we have in our architecture a &#8220;master&#8221; instance and multiple SQL Server engines to perform computation and &#8220;sharding&#8221; operations. The &#8220;master&#8221; instance will behave just like a SQL Server 2019 instance (where we can use all the tools we are used to). When we have to stream data to our cluster, we can directly use our instances on &#8220;non-master&#8221; nodes (&#8220;shards&#8221;). This allows a performance boost as we do not have a single point of contention in our architecture and is horizontally scalable by the number of nodes we want to have in our Kubernetes cluster.<\/span><\/p>\n<p><strong><span style=\"color: #000000;\">&#8211; Kubernetes:<\/span><\/strong><\/p>\n<p><span style=\"color: #000000;\">SQL Server 2017 has already been implemented on top of an abstract layer called Platform Abstraction Layer (PAL) that allows SQL Server to run on multiple platforms such as the addition of Linux and Containers.<\/span><br \/>\n<span style=\"color: #000000;\">If we want to run BDC locally on top of a Kubernetes cluster it is possible for example to use Minikube or on the cloud with Azure Kubernetes Services.<\/span><\/p>\n<p><strong><span style=\"color: #000000;\">&#8211; HDFS:<\/span><\/strong><\/p>\n<p><span style=\"color: #000000;\">During the installation and configuration of SQL Server 2019 BDC, a Hadoop Distributed Filesystem (HDFS) is also installed in Kubernetes. Using Polybase &#8220;scale-out&#8221; groups we can easily and efficiently access this distributed data within SQL Server to external tables.<\/span><br \/>\n<span style=\"color: #000000;\">After installing SQL Server 2019 with BDC, all service configurations are performed automatically. With this piece, we can ensure in our architecture that we have a central data point for both relational data (since we can use our &#8220;master&#8221; instance as a normal instance of SQL Server) and for large unstructured data.<\/span><\/p>\n<p><span style=\"color: #000000;\">&#8211; <strong>Polybase:<\/strong><\/span><\/p>\n<p><span style=\"color: #000000;\">Polybase was a feature introduced in the SQL Server 2016 database engine, that allowed us to connect to HDFS data sources. With SQL Server 2019 we can also connect to relational data sources (Oracle, SAP Hana, PostgreSQL, &#8230;) or NoSQL data sources (MongoDB, Redis, Apache Cassandra, Azure Cosmos DB, &#8230;). We can even use Polybase with external tables to achieve our goals and be more productive by processing all the data faster.<\/span><\/p>\n<p><strong><span style=\"color: #000000;\">&#8211; Apache Spark:<\/span><\/strong><\/p>\n<p><span style=\"color: #000000;\">For those who are used to working with Spark projects and applications, you have the possibility to take advantage of all the features (SparkSQL, Dataframes, MLlib, &#8230;) within our SQL cluster. In our organization, with our Data Science and Data Engineers teams, there is a possibility to make SQL Server 2019 BDC a &#8220;Big Data&#8221; data center point.<\/span><\/p>\n<p><span style=\"color: #000000;\">In the next article, we will install and configure a SQL Server 2019 Big Data Cluster.<\/span>[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; overlay_strength=&#8221;0.3&#8243; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_position=&#8221;all&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_link_target=&#8221;_self&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221; bg_image_animation=&#8221;none&#8221;][vc_column_text][\/vc_column_text][vc_column_text] by Andr\u00e9 Batista<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":2,"featured_media":7874,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rs_blank_template":"","rs_page_bg_color":"","slide_template_v7":"","footnotes":""},"categories":[74,53],"tags":[76,77,58,78],"class_list":["post-7847","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","category-crossjoin","tag-5g","tag-6g","tag-crossjoin","tag-iot"],"acf":[],"_links":{"self":[{"href":"https:\/\/crossjoin.com\/pt\/wp-json\/wp\/v2\/posts\/7847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crossjoin.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/crossjoin.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/crossjoin.com\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/crossjoin.com\/pt\/wp-json\/wp\/v2\/comments?post=7847"}],"version-history":[{"count":0,"href":"https:\/\/crossjoin.com\/pt\/wp-json\/wp\/v2\/posts\/7847\/revisions"}],"wp:attachment":[{"href":"https:\/\/crossjoin.com\/pt\/wp-json\/wp\/v2\/media?parent=7847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/crossjoin.com\/pt\/wp-json\/wp\/v2\/categories?post=7847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/crossjoin.com\/pt\/wp-json\/wp\/v2\/tags?post=7847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}