Modernization Hub

Modernization and Improvement
What’s new in SQL Server on Linux and containers – BRK3228

What’s new in SQL Server on Linux and containers – BRK3228

Alright good afternoon Welcome to. The lunch session at Microsoft ignite that you miss lunch for have a sore. Or there’s a lot of pressure vision we went to deliver so. Thanks for coming to our session today I’m bob Ward in the principle architected Microsoft. Quick stop going to live in introduce himself coz I think you’re going to do so love to treat that you have today qazvin really knows his stuff very well but for me it’s interesting journey is my 25th year at the company and this is the 20-fifth interviewer SQL server on windows NT. But in 1993 when I joined what I thought was little PC company my background was a unix before there was a Linux solaren was actually unix development see an Oracle in English English anybody know what that is. And sidebe systems yeah there you go so it’s kind of coming home for me to talk about SQL server on Linux containers and I started my journey here with the team last summer but working ever since then once you tell us what about what you do at the company I my name is then. I am 25 years old now I’m just kidding I’m just got would have been really bad. I’m not 25. You look 25 though. My name is Ben I’m a program manager with the SQL server product team over the last year 2 years I’ve been working on developing SQL server on Linux specifically bring the features that some of them are which available. When it out later today and now my main focus is with SQL server in containers awesome you got to talk tomorrow and containers which I think you guys should take a look at it’s going to be good stuff no one knows containers better inven? I’m trying to learn I gotta do things are talk to at the session on Thursday so Hey. Last year at this event SQL server 2017 was announced and we announced that we announced the fact that running on Linux and container. And so we’re not going to do is session today to review everything back that we did in SQL 2017 but if you’re going to talk about you know where you’re going and what’s next you should talk a little bit about looking back you know what do we do I thought you might enjoy this slide a little bit because we get some questions. Frequently asked questions about SQL server on Linux and all that I dressed I’m kind of on the slide like one of them is if you look at the slide is anybody using this thing and there’s just some stats we have we don’t ever publish our exact install base of information. But 6 plus million dollar pools that’s probably updated probably a lot more than that now and thousands of different instances and CPUs that we have observed customers running both SQL server on Linux in a VM in a bare metal. And also in containers. And to the right over here you see some company names these are actual companies that are customer case studies so another question I get is have any case studies and then we really doing this and you can go in the Microsoft website and look up these companies and see their story and it varies their story and if you look. Of the next point here this is the observations we have about customers and these customers in the right you know reflect that that one is that customers like to standardized on an operating system so we might have customers running SQL server on windows. And in their organization they’re thinking about running Linux now as a standardization and then I want to move think it once so the end up in a kind of a mixed environment where SQL will still run on windows and now SQL server running on Linux. And then customers kind of reevaluating their preferred database platform for new application. I’ve made using Oracle for awhile maybe using mysql or postgres SQL and I’m wondering you know is SQL server now an option and that’s 1 of the reasons we did this right is to give customers now options because they want to use Linux. And can they run our database platform and then we just have customers literally making this migration story from another database platform I’ll pick on DV 01 it’s one that we champion quite a bit and it’s a great story because it’s a customer that. And user postgres sequel for many years definitely heavy Linux customer that loves that operating system loves that development platform. But they wanted something different because PostgreSQL did not scale for the needs that they have as their business group. And they looked at SQL server awhile but it was running on windows so they literally reached out to our executives and said is there any way you guys can make this thing run on Linux and once I found that we did they want to her early adopters in a great success story of what we done. Now here’s some other frequently asked questions we get this all the time and I’m happy to address them for you though is it the same on windows I will defer that to the next slide as we talk about our feature set in the SQL server engine and things that want to call in the edge around the engine. What is the same on Linux or windows and I also have a small architecture discussion if you’ve not seen that before that helps kind of seal home that point? I got this morning from a customer asking me right after my session on SQL 2019 and that is the performance the same in the answer is that the performance is very similar and it just depends on your work load it depends on your Linux configuration. And in some cases what we found at Microsoft Windows performs slightly better than Linux and in some cases Linux perform slightly better than windows there is no pad answer but the answer I give is that don’t make your decision. On SQL server running on windows or Linux just on performance because you’re going to get good performance from either system don’t make that your choice and the funny running joke I had I had this at a conference one time a customer said should I run SQL server on windows or Linux I’m answer was yes. So I want you to walk away with that thing that I know I need to run SQL server to matter where it runs weather it’s windows or Linux the other one is about licensing I was surprised how many times I get this question we’re kind of technical engineer guys but we want to make sure you know the answer that. If you have an existing SQL server license today it is the same license that works on SQL server on windows or Linux you’d have to buy a special license just run one or the other I will tell you though and I’m pretty sure this offer still exist right now? Red Hat a great partner of ours and so if you choose to run SQL server on Red Hat enterprise Linux you can get a discount from Red Hat and for Microsoft in a subscription model to run SQL server on Linux in that environment. Here’s another one raise your hand acadiens and it’s hard for us to see with this huge brightlights if you consider yourself a pretty good expert on Linux. If you folks that have that knowledge? What’s that let’s say so? So if you’re in the sun is going like I know nothing about Linux I know very little I know windows pretty well do I have to know Linux and if you’re a Linux person room they’d say of course you do my answer is been a my experience going back now do this environment for money sequon windows for 20 plus years is that. You need to know Linux just as well as you know things on windows. You need to know how oh works enough to how to configure disks properly you need to know how networking works to configure networking and you gotta learn the shell if you know power shell very well which power shell does run on Linux now but you need to learn maybe the native shell like the bashell so that’s been my journey is learning certain commands. And syntax from a shell but also knowing some aspects of the operating system in order to configure SQL server in a way and we’ve got guidance in our documentation on how to tune the Linux kernel specifically and it’s not a huge set of documentation. Or how do that for maximum performance so I would say the answer is yes but don’t think that you have to simply turn your concur a career in a dime an you’re not going to be able to pick it up on how to use SQL server on Linux and in fact the installation experience. It’s so simple that getting up to speed on SQL server Linux can be quite quickly without knowing Linux actually in a deep way. So what Linux are most customers using I got to have specific numbers but it’s very simple answer a lot of customers use Ubuntu just for development are trying SQL server but by far most customers that are talking it’s about enterprise workloads and productions are is Red Hat. Redhead apaza Linux is the preferred environment that most kind of type production customers are talking to us about at least. And then finally is SQL server different in a container of I’m going to defer that question tavannes demos because when windows some of these demos you’re going to find out how very much SQL server runs in container and it’s just SQL server. As far as SQL server being the same I’m going to show in a second a platform diagram that we’ve used before. To tell you in convince you that the SQL server core engine is the same running on windows or Linux and I literally mean that from a binary perspective the same corbets run on windows on Linux we just have one code base for it. But what this diagram look like before if you look at it close in the right hand side and look at the blue dots that’s a new and planned these are features that are part of the SQL server product that I consider to be on the edge of the engine. Things that rely on the engine but are not necessarily built in the engine that people use things like replication or Poly base or distributed transactions or machine learning services. And so in SQL 17 these were blank. And with SQL server 19 preview that we just announced you see where it says the word new these are features now that will work on SQL server on Linux by the way quick hear the word planned right here for a Poly base. It’s not because it doesn’t work it does we just weren’t quite ready in CTB 2 O to have that working for you but trust me it’s coming along very quickly so I expect this slide to look like black across the board. The only noticeable differences up at the top where it says by services so our team for analysis services and reporting services they have not made any decisions yet about their plans to run an SQL server on Linux but remember. Those services on windows can connect to a SQL server on Linux unchanged because the core engine is actually the same. And what do I mean the core engines the same it’s because there’s platform diagram instead of actually RE compiling the SQL server code on Linux and changing all our calls for APIs the Linux kernel we use a very clever technique and you may have seen this before. So I threw a project called drawbridge for Microsoft research in this concept called the sequel power going to use that term today little bit our session where the SQL server code runs unchanged from windows in this power layer. Quite frankly in a way that doesn’t even know what’s running on Linux but in a very lightweight way so it’s still very very performante so the sequel pals interesting innovative technology that gives us ability to run various processes that were compiled in built for windows. On a Linux kernel without RE compiling that code. So if you think about the themes that we’re going to talk about today one of them is platform of choice with compatibility and veneza one that actually convinced me to change this message we were talking about a session we did this summer and internal session. It’s like bob I don’t think people get a nuff that there is compatibility built in with this system with using SQL on Linux and what I mean by that is that you can take a database for example and back it up on SQL on windows and justice restore to Linux or vice versa. Again because the core database engine is the same. So first of all this is our messaging if you’ve not seen this on SQL server 2019 and seen and heard about the news about our release with our preview we just made the news on yesterday out of session this morning about a road map where we want to of the slide and I’ll just. Apologize how bout doing too much of a repetitive talk on this let me just kind of nail it home for you number one on the left is really the significant breakthrough in this release and the interesting thing about our ability now to integrate with the world. Actually spark and big data is Linux so in this model right here at these big data clusters are all Linux containers running on acuminatus cluster and that is one of the powers of the platform we’ve achieved to build make that story happened. Really good session today at 4 PM by our colleague Travis right where he’s going to go in depth show you some pretty cool demos and how that technology works and then of course I mentioned about choice of platform and language and then shooting story here it’s not just about the fact that you can program with these programming languages against SQL server. Whether it be on docker on windows or Linux but you’re going to see in the session we’re going to talk about we not provide extended T SQL capabilities with things like Java so now you’re going to have the ability to run T SQL code that’s going to be able to call a Java program. Within the database engine itself that’s actually pretty ground breaking stuff for developers that I think you’re going to like that we’ve now announced for 2019 were all about performance in fact the number one benchmark today for TPCHRNA litic workload. Is on Linux so we’re a believer in making sure that the performance of SQL server can run well on these platforms? We won’t get into the depths of it today because it’s kind of orthogonal just the sequel licks conversation but it’s not just about running fast is that I keeping you fast so intelligent query processing is built in capabilities to the query processor engine of SQL server. To adapt or make smart decisions on your queries when you compile so that we can make decisions based on your workload to help fix problems for you automatically or advise you on problems so we have to spend so much time diagnosing query plans that’s the kind of breakthrough technology. It’s pretty interesting. And then security is very important and for SQL server we are the most secure platform in the industry and the great news for you there from a security perspective on features is that just about every feature you have in SQL server on windows. Works on Linux the difference is you run to his configuration because some of these things are based on dependencies on the Linux kernel we depend on windows and so some of that information some of those types of scenarios like maybe Active Directory authentication. Requires some slightly different configurations but we do have a new feature in 19 on Linux to make that easier for you and then of course powerdb I’m reporting service is not running a Linux but still run on Windows Server can connect. To a sequel Linux with no issues now look at the bottom the star game this is an interesting part if you think about something called in memory technologies specifically for us that’s column store index is that symbol TP. These are unique technologies to us that help your workloads and we also use this technology within our own innovation like for example column store helps power some of the analytics for the big data cluster. But I’ll just tell you I’ve done some a valuations of this technology with our competition and yes a company like Oracle has some of this technology but it’s like an adult and you look at postgres SQL did not have a college tour technology built in their engine or they have in memory LTP and we do have those. And then finally consistency is important to you so when you think about SQL server on windows SQL server on Linux or even our public cloud offerings the T SQL language is critical because it’s a common surface area of skills and interfaces you need to interact across all of those things. And then you’re going to see some demos for us we’re going to use a new tool set called Azure data studio which we just announced yesterday used to be called SQL operations studio and talk about consistency is the same look and feel of a tool that runs both on Mac windows and Linux with the same interface. And look and feel and you can even run that against your cloud properties on your private cloud or I guess our public cloud offerings as well. And also about programming interface that we talked about platform of choice when you’re building a developing applications we want those things to run very very well and make them compatible so you’d have to make decisions like am I running on windows or Linux what do I do. That’s our goal you just build the app and pointed to either one and it just works and that’s about choice with compatibility. So I kind of mentioned a little bit here I want to make sure it’s very clear if you’ve not seen this story before about our official support story whether it be windows or Linux distributions so today we officially support Red Hat Linux surprise. Phusion aboon 2. It works on other Linux distributions we’ve done it ourselves we’ve tested it but we wanted to give you an enterprise support store innoprise class support stores so for example with Red Hat we actually have a joint partnership together with that company where if you have a support issue we actually work together we don’t pawn you to either company. We work at together we have people in Redmond that actually work with the support team wanted to give that type of feel for you when you go into enterprise workload with SQL server out of the gate and that’s why we choose these specific distributions for official support from Microsoft. And then you’re going to see a lot more in 19 and further about our use of Cooper netes are going to hear about that some more today you may have heard a little bit about it already but Cooper days is going to be a driving force for us in orchestration and in clustering technology support high availability going forward. These are some of the features that I talked about this morning on our road map session and the point is is that when you’re thinking about SQL server on Linux don’t forget again it’s the same i**** so don’t think you don’t get clustered column store online rebuild from SQL just ’cause you saw it on a web page from us. You may be thinking oh it’s only for windows all of us technology works the same in SQL server on Linux because again it’s the same quarter based core database engine so if your customer worried about GDP are and you need to look at data classification. And you see now we have that built-in with meta data an auditing built in you get that in SQL server on Linux don’t think that you’re just not going to get these features because we have now said because we’ve been more of a windows centric product from this. Going from particular point in time now we’ve been so windows centric do you still get this stuff. So I think it’s no better person to talk about feature parity what we’re doing this product qazvin spent a lot of time in the space of in once you start walking through your I think you told me something earlier how you felt about feature parity right now is good. Thanks bye bye think I was a really good summary of you know from 2017 to where we are now and some of the things that I want to talk about now is some of the improvements to specific to SQL server on Linux. Is there a 2019 62? So this slide encompases some of them prove muntari’s that we have for SQL server on Linux this is not everything that we have been working on but these are the areas that since 2017 a lot of our customers have come asking for. OK so all the top left you see we have been working on replication this was on the list of approved. On the diagram comparing SQL server in windows or SQL server on Linux with 2019 we have replication we have also introduced the ability to deploy availability groups takron 80s in the center you see that we have a. Open eldub support for third party providers what this means is if you could if you have a third party providers such as centrify or ventelo managing your ad environment they could also now manage SQL server. On Linux as well tonight we also have some hardware improve SQL server plays well on the next plays well with hardware improvements such as persistent memory so PM and bubble talk about that in a bit with SQL server on Linux we also have machine learning services with arm python this was. Pretty previously available once you server on windows we are now bring it to SQL server on Linux another. Future that lot of customers have been asking us for is distributed transactions we also have that 2019 and there are few improvements around SQL server in containers namely official support. 4 SQL server and red heart container. They’ve been before you go forward I gotta just laugh before the session you know you told me he said bob you know what I think our goal is to make these features paradizo good story that we don’t come back next year is that what you’re saying that you know by the time we get done with 2019. And we ship this thing you’ve they won’t be a session on SQL server on Linux just be single shard it would just be SQL server I know it’s really good throughout a good story. So on the talk a little bit about SQL server application on Linux and I’m bob mentioned that a lot of features the way they work is identical but the configuration slightly different in this is what the slide shows. So the goal to when we thought about bringing SQL server application and has many of those agents log reader agent snapshot agent we want to make it work identical to the way it does on windows. So you so you can see the very first bullet point is our goal is to achieve parity so we want to make replication such as transactional snapshot merge those technologies work the same. They do on Linux as they do on windows so there is no additional installation steps that you need to install all you have to do is enabled SQL server agent which is required to required for replication and I have those too. Lines that’s all it takes to my startup SQL server agent right at this point your SQL server replication is ready for configuration and this can be managed with SMS using those Wizards. Just like you do with SQL server on windows and this can be set up across Linux and windows so you can imagine if you have an existing replication setup on windows and you want to add a subscriber that’s the SQL server on Linux. That is very possible and we can imagine we do have some folks looking at to set up the type of replication topology and we’ve also done a lot of work to ensure that 80 works Active Directory works in mix environments as well as Linux only invited. Well it’s nice. So with that let’s get to a demo of this. So I want to configure I’m going to set up SQL server on Linux and get it running and the way I’m going to do this is actually with containers and I’m going to be using a tool called docker compose for those who are not familiar docker compose is a tool that. Spins up multiple containers that interact with each other in order to make the service complete. Typically you would use this with the web app with the database because they were the web app requires a database to get it up but in this case I’m going to spend up 2 databases DB one DB 2. And I want to have them I want to have a snapshot replication push replication from DB one DB 2 so if you look at my environment I have my password I have my septum the yulee and I have. Enable my agent and this is why I mentioned this is the only step that is required to actually start configuring replication to this is my subscriber here and again it has the password. I said the UNI’m setting the agent so one of them is listening on my local machine on 2500 the others listening on 2600 right now if I want to look at what this does at startup time. Actually stole my DB one actually runs a. Actually runs a SQL script on startup time. So first is first thing I’m going to do is I’m going to create a very basic database I want to create a table and some data into it right and then I want to proceed to set up the distributor. I want set up the subscriber. We will have to go through each and every single line here with all the replication stored procs and then I want to set up a publication at some articles and the last thing I’m going to do is I want to add a. And this is krieber. And I’m going to start the jobs with. SP start job so then oraquick this would be the same set of scripts that you might use the Wizards and windows and SMS it’s pretty much going to do the same thing you’re just doing from a script perspective actually that’s good point bob why did generate actually prep for this do that. It is actually used as a mess and I hit the generate script button but if it’s so great learning tool awesome. You know I’m much less error prone. In case you missed the field so in my second database instance all you can see that the only T SQL are running is create database sales so here I shouldn’t have any tables and I shouldn’t have any data in it if I were just. Run this container on its own so with that said you know let’s go ahead and start this and with the way to start this is I will use docker. I’m pose. And at this point you can see that created the network which is allows those containers to communicate as well as both the instances when I hear I didn’t run this in the background process because I want to show you what’s actually going on. Here you can see that the instances are starting up and some of this is if you would look at start a blog that’s what it looks like now is going to get to the point where I want to create some of those databases you meant you see here starting up database sales. And then I’m going to go ahead and start. Create configuring replication at this point and you can see here I was a scroll slight little bit up I set up the distribution database on my first instance. Then I’m going to configure some of the publication in the articles. And you can see that you know the bottom I have started the snapshot job so I needed the day I need to stop shop to be available before I apply it. And then you can see this point it’s just finished completed running the actual. Snapshot job of actually push push itself so if I go to my Azure data studio and I connect to my second database. Along in here. Connect and a look at the database so this sales at this point before replication it wouldn’t have had any data or tables. And have a look at the tables I could see that the customer table exist which means that the steps replication snapshot was applied from my first instance to my second instance. And if I would’ve got here just to look at the data itself. I can see that the data is there. So they let me ask you questions so in a way like containers give us new opportunity you can build replication containers is what you’re very done effectively like you could use docker to deploy a series of replication SQL servers with publishers and subscribers. Automated in an automated fashion one really good I think one use case of the top of my head of using this is you can imagine seeding a test database data from you know obviously after you cleanse it from a production environment. Lock data off. Very cool. I need another future that we spent a lot of time with the last year designing and bring over to SQL server on Linux is distributed transactions and in the blue boxes those are some of the capabilities that work at the church. Transactions so distribute transactions in Linux works with SQL server link servers across windows Linux environments it also works with Ole transactions. It is in DC So what that means is if you have AC number application that depends on distributed transactions this will work with you connect to SQL server on Linux instance that will work in that moment In addition. And this is the last blast point here in the blue this is actually a net new at is that we support native XA transactions what we found for distributed transactions on in a Linux environment is that X is the way a lot of applications. The way they do it to the way we did this is worth by introducing 2 subprocesses in the sequel Powell in the top left on break you can see that there is a mess DC process this is very similar to the one you see on windows. And we have an end point mapper now if there was an MSDTC client say an app that supported by JDBC or odbc driver and that wants to start a. Distributed transaction with SQL server so let’s say the T SQL was begin Tran. It would first talked to the end point mapper and say ask it what port is the DTC service in the subprocess listening in SQL server. And then it will provide the port which effectively acts as a port redirect the client can now talk to them is DC subprocess. In the SQL server process and then from there we can continue with our distributions action. I’ve been real quick on that slide I think what are the key parts of the architecture if you look here is it says sequel palhi in the box SQL pal and I mentioned earlier that innovative technology this allows us to run DTC services from windows. In Linux so we don’t do a recompile DTC from windows we didn’t go to that team and say Hey can you guys rebuild this for a Linux for us right so it allows us to come to market very quick great example of us to come to market quickly with the feature functionality you need. Especially going from windows to Linux and that’s 1 of the innovations of SQL power that’s really amazing the situation. So now I’m going to pass it back to bob to talk a little bit more about some of the other features in the modern data platform thanks man appreciate it yeah you can see where Vince headed here right I mean again we want to put ourselves out of a. Talk next year we don’t have to do this again replication DTC we don’t want to an excuse anymore and I will say also doing the 2 of us we can talk to us afterwards at this is a scenario if you have a blocking situation where you found something on Linux equal Linux is not working. To your liking need to go and tell us because we want to make sure again that there’s just no reason for you to make that leap if you want to go move to Linux platform. So we talked about choice with compatibility then talked about feature parity stock a little bit more with some modernization things we’ve done specific to SQL server that also run in Linux it’s a little bit unique and different. So first of all persisted memory optimization. Many of you have heard maybe a now in the industry technology called like in vidim or persistent memory modules that run in hardware platform. Babini characteristic it’s like a drive except its battery backed right it’s like there is power to it so if you start using this technology as I drive you can kind of the fact that your data is persistent and SQL server already supports in fact I demo this last year. At the past summit that we have SQL server supports these type of devices in what we call block mode like just a normal drive and you get better performance just by using that technology. But what would be possible if your database engine could understand that you are using one of these drives an API support was available so that you could literally just copy memory blocks memory pages between the devices like a mem copy between processes in your system. What if you do that would that be faster and it turns out hekia so in SQL server 19 for Linux we now offer persisted memory support we’ve actually what we called in light mode if we recognize we’re on a Linux server with one of these devices? We will literally bypass the IO stack of the Linux kernel and justice memory copy data like your data from one of these drives in the SQL server buffer pool providing an amazing performance scenario and our jennis fernandis our colleague tomorrow is speaking very on this technology doing a demonstration of it and give you more details about how this actually works. And it’s not the first it’s just the first step in the journey we’d like to do other possible scenarios if we can recognize the devices like a memory module how could you something very innovative to actually avoid IO bottlenecks for your application. So that’s 1 thing that’s a performance optimization I think you’re really like them but what about if you’re a developer I mentioned earlier the fact that we were going to support the concept of doing Java and you may ask yourself OK wait a minute. I’ve been down the path of using extended stored procedures of SQL server before SQL CLR other types of technology in my experience with all that great I still think SQL CLR is a good technology for to use but there are some problems with it. One of it is is that it must be net second of all if you want to go off the netpath like to say a piece of call a piece of Java code it’s called an unsafe assembly at that point and we don’t support that on SQL server on Linux nobody really recommend you do that. The other functionality that I found and I was in support for a long time so I rented these type of problems is that both extended procedures ansiel are all run in the memory space of the SQL server process so if there is any issues that occur with some of this code it could cause some issues for your overall SQL server stability. It’s bad. So along comes in SQL 16 the ability run R and python together and we built a very innovative technology you see in the screen here what would I call a launchpad satellite process infrastructure. And the way that works is that if we recognize that you’re going to try to invoke on our script or a python script so they will be called a special system procedure which I’ll show you in a second when we recognize that we will actually take this launchpad service. OK launch pad service will invoke a satellite process to go run your or a python script and do that on the same computer is SQL server but provide a direct path so the satellite process have a direct communication path. To the SQL server on this box. For provides really interesting scenarios for you to go run our python scripts in an isolated ways that they did you know if you’re with the reliability SQL server buttona performant way coz I caught talk directly to the database engine and they can exchange data so for example you can now run queries. With your arm python script sequel will transmit the data to your arm python code running you can interact with it and send the results back pretty cool so we’ve had that in SQL 16 and 17 be announced python. For a long time SQL 19 in the ability now to run Java we just going to thought Java was a natural path for us to go after and so Java has the same type of properties where this launchpad interaxon spanz off another process to run your Java code and you have the same type of interaction. Where are really headed here in this is kind of our thinking doesn’t mean we’re actually going to do this but this is are planning our thinking is that this type of model could be extensible for you imagine if we built an API set? Where you could use the same infrastructure to launch whatever you want to do launch because again these processes run the same computer but there are isolated from the SQL server process now here’s the other aspect when I start talking about this diagram the people ask me is like how do I control that stuff? How do I prevent a programmer who is a Java programmer from like running something that just consumes the CPU and overtake SQL server well this system is tide of the resource governor resource governor being a function in SQL server again in the core database engine so it works on Linux and windows? Resource governor provides the capabilities to control how much CPU memory or even affinity that these processes run out now out of date in CDP zero that functionality doesn’t exist on Linux but that’s what we’re going to make sure happens before we ship on windows at. Works we would use something on windows called windows jobs Linux provides a functionality called see groups which we can take advantage of to provide the same type of functionality so pretty cool technology and I want you to just for a second so pissin. But you’re a developer you know T SQL but T SQL does not provide some functionality for you and you know that you could write a piece of python script or javascript to supplant that well how do you integrate these worlds well now that providing this T SQL interface for you can embed this inside your stored procedure for example. Call off your Java code your python script again you’re going to interact with data doing it returned data back and now what if you’ve done you’ve extended the T SQL edge of that box right there for our python and Java is effectively extending. The T SQL language for your needs but again in a very isolated way for your processing for reliability in a secure way in a performance way that is something that you can control. So let’s take a look at a demonstration of that this morning if you get 6 for me right there. This morning in the. Road map session I did a demonstration of this on windows. And so you’re like a why wasn’t there I didn’t get to see that right So what did you really do or maybe you were there and you’re like well how you can do this on Linux so let me first show you right here here is visual studio code with my Java program so. Are great colleague and friend Nelly built this for me and I am not a word classification natural language processing expert but an end gram is a functionality you need to do that you to do work classifications that language? Language processing you need this end gram functionality and so that is an existing T SQL there is no T SQL engram function so how do you do that well you build a piece of Java code that does this and in this Java code are actually. Specific protocols for how you’re going to end you’re going to actually except rows of data from SQL server and then send rosback so there’s going to be kind of a map we’re going to help show you how you would build your Java code how to do that. And then in the middle of this is going to be the heart of the processing itself are actually doing the engram processing of this text data so you build AA main class called N grams which were going to show you how we call that. Scroll down where is that right here in this is the class. And if you go down right here this get engrams it’s going to be like a method in my Java code that I’m going to call and then we also show you this is all in our example of our documentation we show you how to do it in putro and an output rose this is how to structure a row from SQL server coming in from a table you would query right. And here’s how to structure a Java class that models the output because again my goal here is what I’m going to do is I’m going to call this Java method passing it in a select statement I know it sounds crazy an actual select state in with rosidae to my tables. But this is going to process these engrams on and then I’m going to spit back out a set of rows so I’m not passing as parameters into this Java method like an array of data that I query from SQL server I actually have a clever way of justice giving it a query. And then sequel interacts with together to feed at the Rose at needs and spit back to the actual output so how does this work well on windows what I did today is I compiled a set of Java Java code in a set of classes and I put it on my folder here on my windows machine. And then I ran it with a script will how do you do this on Linux so I took these Java classes that I’d already compiled. Here’s a terminal window SSH into my Red Hat enterprise Linux VM running SQL server 2019 in here I have a directory called Java already had it up here so I just copied these classes in there I didn’t recompile anything just copy the classes in. So this directory and it was as your data studio I ran this script only kind of breakdown how this works. So first of all this classpath is where are the Java classes I’m going to run with this method and you see in this particular case it’s a Linux file path. Syntax whereas before with windows it was C colon backslash in that folder I just showed you so I just copied them into that folder put it here now the other thing I had to do is I had to install the packages for what we call extensibility for SQL server. Let me just pause for a second and tell you why that’s significant. In SQL server on Linux different than windows the way we actually distribute the software is in form of packages we don’t put everything in one big thing so when you install a SQL server you get with vincho do you get SQL server agent and the engine together which includes replication. DTC that you showed you but if you want to do this you can install a separate package what we call extensibility to do machine learning services in Java. And then all you need to do is actually set some permissions properly in this folder so that SQL server launchpad maree mentioned that before it can access these and then you run a script like this and let’s just kind of look at the defeat not seen this before this is this special stored procedure I mentioned called execute. External script it’s the same way you would run R or python and notice I’m actually not a specified language called Java whereas before it could be are in python if you’re doing like machine learning typed programming. The script is in the scriptcase this parameter is actually the name of the Java method I’m going to call and the code is found in this class path and then here’s the input data so that’s a query that’s going to get run against my local SQL server. SQL server is going to take these rows and it’s going to feed at that Java program based on those classes I showed you right it’s going to feed it row by row and we can even Streamlight that to make that even better not did not just a row by row thing and then. That code is going to spit back actually some output parameters but also hear this resultsets it’s going to give me back some sort of identifier plus the engram result. This is really amazing stuff I’m not passing parameters a bunch of data around I’m actually just giving it a quirion telling me results back in a very efficient way and that’s the way you run any of these things anything at R and python and Java is going to be the same type of methodology. So when I kick this off and run it. It just comes back with these results of these engrams and we’re not here to study in a gram philosophy and gram and gramps work but just to see comes back in result set So what did it look like on the Linux system. With you go over here I’ve got these commands up I think here notice here I’m running a command sudo system CTL let’s say come in on Linux to check the status of a system service unit service we have a new one called MS SQL launchpad D. That’s equivalent of that launchpad icon I showed you in in windows that would just be called the launchpad service so if I run this and I put in my password. You’re going to see it’s a separate service from SQL server running to handle this and if I also listen looked at different processes here. Show this here is my SQL server processes running the engine and then here are my launchpad processes in the way this works. In order to support proper permissions is that we have this launchpad D process which spawns an actual launchpad program which will then run our Java executable. What difference in the SQL server test in 19 architecture for a Java then we did on 16 for python and R is that we have something called the EXT host process the exede host process is one that actually is going to support using? Java runtimes where you yourself can host a Java runtime with a DLL so in terms of Linux will host it that way the same way you do in Linux not with the DLL but the launchpad will actually be hosting the Java code with the XTXT host process. Whereas on AR and python it would be a separate process for our term or python or something of that nature the host process now gives us capability not to be extensible in the future if we’d like to add other type of language support. That’s about as simple as it gets so this is all built into SQL server so you just get this with the box you don’t buy add ons the only difference for Linux as you’re going to be installing separate packages because we kind of had that philosophy to make the overall SQL experience more lightweight. More manageable so that’s as easy as it gets we have documentation already built on this how to run these examples and I want you to stop and think about what’s possible for you now you’re out there building a database application and you’re thinking about building Java code in your middle Ware app. Well what you may like to do though instead of so you know what I’d rather build it on the server side I want to do server side programming on the SQL server itself but I don’t know how to do that I don’t interact with that now what if you were going to be like credit card processing or something of that nature. Now imagine taking AT SQL stored procedure wrapping it around that Java code and then I’m betting that another set of procedures or something that call your overall application. Since this Java code can interact with SQL from the perspective of taking in rows and spitting back rose it’s very efficient from a performance perspective. I’m really excited about this I was talking to leave in about this yesterday is I would love to go build github examples for every Java thing we can think of the world Reggie Reg regex expression type handling things of that nature so so one thing I’d like to add on to that. Bob mentioning is your executing the code in the SQL engine which means you don’t have typically when you have an application and you have the database separately separate what happens is you actually end up transferring data back and forth. And this ends up actually so you can imagine if your data set is extremely large right and you’re doing this every query right you can imagine that actually having a toll on performance absolutely right so this is why you know. Initially we had this for machine learning type scenarios where to do machine learning you need very large data sets a train your models so instead of actually taking all your data out onto separate machine to consuming the memory and. Daio van the network you’re just bringing the model to the data itself. And that’s like one of the very key points of you know in fact we’re actually kind of recording this machine learning and extensibility because I think about python is a language and Java as a language you could do machine learning great with those right but think of all the stuff with python machine. Java for example you can do that have nothing to do with machine learning so I kind of feel it now it’s a new extensibility of T SQL. Machine learning built in plus extensibility of other types of areas like I mentioned we were talking about regular expression type parsing things that things that we don’t feel are necessary to put in the T SQL language itself we think this can be a new extensibility a platform for to you so pretty amazing stuff. Back to the slide deck there. OK so again I told you venenos containers I should like label that venenos containers I’m just learning from it I’m sure myself but I’d like venuta kind of walk over ’cause you’ve worked specifically in this area right. Sensibly what does our plan and what have we done new for testing 19 in containers and especially he’s going to dive into this whole really cool concept on always on available group for Cooper nettis. Thanks bob so these are some of them proven to be half received 20 that’s analysis and now we are actually still working on many improvements that we will announce a later date so but the moment. You know you can see here that you know we actually slowly transitioning off serving our containers from dhakar hub over to Microsoft container registry we also yesterday announced. Official SQL server Red Hat certified container image very so we’ve had a lot of customers actually asked for that and we partnered up with red I had to make that possible that the last thing going to bring up and the slides that comes to mention this AlwaysOn availability groups for Cooper nettis. It may end up means that we’re going to be able to you now have the ability to deploy in always an age group in communities and was going to bed now with 22,017 with SQL server being available inside containers you could have deployed that. Into a community’s environment SQL server pod however this is the way it would work SQL server we deployed in the pod and we should be placed in the node you can think of a note as a machine. And there’s a load balancing service that the user could connect to in this is a service that has a static IP. For these are to connect to so if there’s something were to go wrong with the pod save the service dies could be smart enough to actually spend up a new pod and put SQL server that initially it will try to put it on the same node. It may not always. And then the load balancer smart enough to reconnect to that new pod and now if the node dies kubrat is a smart enough to put that process into a new node. You see that here right but there’s a few problems with this few problems with just with what communities provides out of the box now the first thing you can imagine is SQL server could it’s a fairly complicated process the process itself could be running. But it could be in a problem state now Cooper is won’t spin up a new pod because it doesn’t know anything about SQL server itself but the user will be stuck there were trying to connect to SQL server and it may not be taking any connections then you’d be stuck in a. The second is that you notice that any given point there’s only one active pod right so if you want to spin up a new SQL server instance inside a new node. Or it within within the new pod that could take a little longer so and from my own experience from wife tested it could take up to 45 minutes depending depending on the location of the node if you have your nose Geo Graf. Different Geo locations then it could definitely take even long. So this is why in 2019 we’re actually. Building the ability ability to deploy availability groups and communities so let me explain to this comes out going on but let me explain a bit so you slipped the very top left there’s an operator. Right So what the user ends up doing is all they deploy is the SQL server operator and the operator will then deploy resources on the kurenets clusters on behalf of the user so the user would never actually deploy a primary. The user would never deployed 3 separate instances of SQL server hook them up and ensure that they are in age group instead we will the code so that you can deploy an operator the operator will then automatically deploy. 3 instances of SQL server and credit age group out of them so you can kind of think of it as eggs in a single click of a button. We also included an AG agent and what this is going to do is going to check the health status of each SQL server to ensure that there’s nothing wrong with it and you can connect to it so you could imagine. That’s so you can see that the load balancer that’s actually the service that’s connected by the user can connect to from the main app if something were to go wrong with the SQL server instance whether the services can no longer be connected to or the process of has died. The operator will automatically tell the load balancer Hey will automatically do a fail over and say Hey this is the second instance over here now is now the primary and this switch over is as little as seconds. It’s very quick because all these there’s 3 active instances are any given time. And also notice in the very top right because we have secondary is available you can also do what we’ve always been pitching is using your secondary is for read workloads. This is very good for reporting type services here so you can see that. If you look at the previous slide you can see that the load balancer there has automatically connected to a secondary and you can see that the swap between a secondary and primary in this situation as well but I kind of feel like you describe this? My apologies I could have built some of this diagram made it pretty complex were trying to show the full capabilities it’s little bit like you shouldn’t replication I mean we’re talking about like containers being this way to do like you just said one click we have this operator concept and you’ve seen the complexity of setting availability groups of 4 for SQL server. Now with this operator we make this very very simple the other thing that people have told little bit about with Linux with high availability both for shared storage is some of the complexities of using pacemaker and setting it up now you’re talking about like I don’t even need that I can use this environment now it’ll have like. HA in a click or something like that so it’s very very powerful. And we will actually be doing a demo of these if you look at your sessions at the end will probably have this listed we have a theater session of this action it takes a little longer to. You know to do do do do do justice to this instead of having to set up in a session. Rap things I want to have one more demo here. On my screen so I want to have I want to spend up now application. So again using docker compose I’m going to spin up an application that connects to a SQL server. The application is going to listen to 5000 and then Babe database and 1500 and I’ll just once I started up then we could really dig deep dive deep into the demo self. Are you doing it take the picture you have an ASP app that you want to talk to SQL server and you’d like to just deploy it as a together as like a whole set of applications which is a little bit the problems with containers gives you right? So let you docker compose up in my ASP net core application and what’s going to talk through this a little bit so now I’m spinning up the application itself and I’m spitting up the I’m just the day basis starting up as well. Then I want to go to hear. Has not been applied yet? There you go cool I have a better life so in this application so one of the things that we talked about from the very beginning to end. But this is really the same SQL server and capabilities so in this application is demo application I’m using features that are specific are very key features to SQL server for example temporal tables and by sliding the slider I am actually querying the data. At that point in time. Alright I’m using yeah that’s that’s 1 feature temporal tables just come with the engine right yes worked out I’m also using features built into the engine that could be configured through T SQL such as dynamic data masking here I am asking out the email and the phone number. On my data as well as this whole application is actually backed by single table and there’s a feature called rollover security where if I switch the user the current user they only see the different subsets of the data itself. And this whole reason why I’m showing this demo is because I’d really just having down the point of this is exactly this is the same SQL server whether you choose the run it on Linux where they choose it run it in a container or you choose. To run on windows nice yeah. Then just real quick on that app so the make sure I just had put my head around this you took doctor you have one set up docker compose definitions that say here’s how to build yes you had your code all supported that on your machine. And then the other is just a SQL server containers that’s a yes that’s amazing so docker compose up by this is all declared that something about this but I love it’s all declare it if so I declare my intentions for these applications in their ports and so forth. And then I just say docker compose up and I get execution out of that so that’s 1 thing I enjoy about the doctor system is a bill to declare things based on the images I’ve actually built so if you wanna learn more tomorrow I do have a session that dives deeper into app development. With SQL server in containers OK I’m going to’s going to put on the spot here so I want to know more about that so is your intention tomorrow to kind of show things like you just showed me or what more you have something to talk about. Having using SQL server in development environments for testing for CI CD as well as as well as having this in. CSC pipelines like a dev OPS type. Upside scenario is as well so if you were if you want to know more about DevOps you think of how do we SQL server in the dev optom environment this is the session definitely come to as well as developments awesome cool. We are here we go tomorrow. So first of all couple couple of plugs for you one of it and I actually wrote a workshop. Distinguishing sperian’s yesterday to run or workshop were making a few adjustments to it to make it easier for folks are some great feedback from our audience but effectively what we’ve done is we’ve got to. The URL for the next slide here we built an internal training session an. You know one thing I’ve learned from folks like did Travis like bobs put on github man just publish your stuff up there let people use it so we built this area series of free self paced labs on SQL server Linux on github we’ve taken that a modified it for a workshop so it tomorrow morning at 9 o’clock. This workshop you can come and meet us personally I will walk you through the process of deploying SQL server on Linux interacting with it deploying docker containers in fact that same demo believe in is available as part of that demonstration and then. Here is a vent session on containers with DevOps in SQL server I think you’d really enjoy that session if you’re interested in that how would I use SQL server that environment and then here’s our session on hardware optimization argentus fernandis is going to talk about SQL server. And it’s not just a Linux session it’s about SQL server at all sorts of different types of optimizations both with memory compute and storage but he will talk about the persistent memory feature we mentioned earlier. And then shameless plug for myself I’ve gotten own at Microsoft in SQL server doing what I called inside talks so I really want you to come to Vince talk to learn about how you’re going to play this technology what I’ve done in my talk Thursday is take the SQL server container concept. Under the covers show you how we’re doing it how does it work you know if you how does it what does are doctor file look like and how do we actually build a SQL server container image and then some interesting scenario is you can maybe consider doing it that you hadn’t thought of before. So those are sessions that we have specifically ordered SQL server on Linux I think you’ve mentioned then we also have a theater session coming up on a crib and ends with high availability’s and our colleagues sarab I forgot to list of session on here he has a session is well on high availability with SQL server. And he is the lead PM for the Cooper netes high availability availability group scenario so please come take a look at that if you’re interested just you know as you mentioned just swing by our booth we have all our sessions listed there as well right OK so quick shameless plug time. So. About February March I started on a journey because I wanted to go write a book and never done it before so I chose SQL server on Linux because of my background in unix from years ago plus side not really seen out of the in the industry a really good solid book on how this really works. So with the help of the team people like then people like solova ochsen many people I was able to offer this book it’s now available for pre order and I expect the release of the actual book to be in mid November of this year I think you might find it interesting because I talk about the history of the project I talk about the internals of the architecture. How to talk about all sorts of little Nuggets about SQL server that I’ve learned across 25 years at Microsoft and the book is written for 2 various types of people one is you know SQL server on windows but you know nothing about SQL server on Linux that’s 1 audience? The other audience that’s interesting you know a little bit about Linux or a lot about Linux but you don’t think it’s SQL server so the book itself does have some fundamentals about this product and how to develop applications for it performance characteristics high availability. It’s got in there the book was not written for SQL service in 19 sport started writing it back in the spring so it doesn’t include all of the new functionality event and I talked about today but again shameless plug take a look at on a press media I just did some posting this morning of my. My Twitter account and linked in about a blog that I talk about the book but here is that the resources for you if you go to AKMS equal Linux today we will point you to both the sequel 17 deployment experience and the new 19 preview experience. Here’s our SQL server zulinick slabs sequel channel is our new YouTube SQL server channel we’ve got great little clip videos out there for you where you can see little demonstrations and I expect after this conference we’re going to try adding a lot more from what we’ve shown here. If you want to sign up for early adopter programs for SQL server you saw the big data cluster not saying we just made that particular functionality is not just available for download you need to kind of sign up and let us work with you specifically on that type of? Effort and then we have a page here for what’s new in SQL server few to take a look at so those are the resources we have available to you available to you to learn more about SQL server 2019 and about SQL server on Linux we certainly appreciate your time at the session today. We definitely have plenty of time for questions and we love questions so if you need to leave we totally understand that but if you’d like to stay please come to the Mike answer a question we’ve enjoyed the time thanks again for your time today and everybody can you for being here for them. So feel free if you have a question to come to the Mike and ask us and we’ll be happy to address it. I can barely see what the lights but I can see somebody walking up to the mic so. Define it’s a big audience let’s try to make first of its OK coz it’s a big audience so go ahead and make it is yeah it’s working. Well I’ll had a question in the implement that. Well I believe groups always on the 2016 service pack one we were thinking of how in. A virtual Linux for this of recovery one of the issues or we’ve found is that. Linux on the 2017 was in the cluster aware that means that pacemaker wouldn’t talk to windows closed and services is that know how solve 2019 only nukso. So so so I think the question is that I fail ability groups across Linux and Windows Phone that’s not supported yeah so you have to use available to groups either windows to windows now for a high availability scenario. We do have this available in SQL 17 called a read scale availability group where you don’t use clustering software like you just want to set up replicas and you can manually fail over we do support that between windows and Linux or manyathela how about the other not for auto failover because of those systems don’t talk we don’t have pacemaker windows clustering that can talk to each other and there is nothing in the future. With the Cooper nettis. The intent really more on the development side or do you see that used in production. So the question was do we see folks deploy SQL server to Cooper netes for protection can use cases and the answer is yes actually we have quite a few customers are happening the lap of these customer names. But there working with us to actually start putting this in their production environment namely because they are very big companies are very large enterprise is that want to provide internal database services and if I’m not the easiest way to provision new databases. Is not through a VM’s or spitting up a new machines but it’s to do this through containers and couldn’t is provides a really easy fabric layer to orchestrate those in need? Copies of the same application yeah that’s what that’s when you feel located yeah that’s also there’s also other use cases where you treat this just like any other databases well I’ll just the same copy. I will go step further for you I’ve had customers have to be done presentations like this in the past how code to be in said within the next 23 years I’m moving everything on SQL server to Cooper nice scenario because of the power that it provides 4 orchestration clustering at high availability I’m really being serious. I think you’re going to find we’ve already customers at talking about it if we’re here 2 years from now it’s like a lot of people are going to be not that far up tomorrow is waitlisted and so I’m going to come early trying to get in but if I don’t. The lab. That’s the sequel Linux labs from github so we just tell you that we were there yesterday and everybody that wait list of got in so if you want to come but if you want to do it yourself the exact same laubser right there on give you just do a search for github sequel lenix lab just get him yourself. The only thing that’s required I mean our lab is written a written with intent that you have a rello VM Red Hat VM. But if you are you know if you have a lot of Linux pants you can probably get around that as well. If you look at the lab you’ll see we use a relevant with Red Hat VM in Azure VM with tools you can tailor that to your own needs if you see the actual as we just require that to make sure it’s very clear how you do it to the pre less but yeah we built that for you to use them for free? What are some of the challenges today to use SQL and containers? The question was what are some of the challenges to using SQL server in containers so I think from what I’ve seen his personal experiences working with customers who if you look at the organization we have seen. You talked a very big company or companies typically they have 2 groups they have their dbas or folks who are very familiar with data and then you have the group who is in charge of the infrastructure and you can imagine that the app developers they’re turning really quick the life cycle of an application. Is I would say shorter than the life cycle of your data in your database they’re starting to pick up on the container technologies and for them there’s a very low cost because it’s a stateless application however once these companies start seeing the benefits of containers? They are now asking their dbas in the data team say Hey I wanted to consider adopting containers as well and I think there’s a mismatch mismatch I would say. There’s a gap in terms of processes in communications and company is not so much of a technical problem as it is for the team’s actually communicate and work together to get this job done I guess my question was more alone. Technology limitations are there any that you can think of. So are there any technology limitations insequent containers I would say. Off the top of my head no it’s the same as SQL server on Linux so you know for example we just bought replication over these were external components before this was a limitation before one limitation I could live off list off the top of my head. Is Active Directory at the Active Directory and we’re actually looking to address that later sometime later this year? So I’m looking to that space I’ll just add in that it’s our intention that any little thing maybe the you might find is just wiped away we just want you to use SQL server in detainers just like you just deploy SQL next today with no problem yeah were heavily invested in it as. In the SQL server in containers and one thing is if you look at some of the big data integration that we made announcement yesterday that for us we depend on SQL server in containers so we have to make that even work for a. Is that only available in the future or the company? Azure you mean yeah OK so you want to know if SQL server containers is only available in Azure. So now you could sort of answer questions you can download our SQL server containers today on our if you look at our. Page you can just download these containers locally if you’re talking about the playing and using and usage rates. So it’s the same as having a SQL server license if you want to use the production you could deploy this to other clouds as well. But obviously the best kind of deployed design is Asher there just to be clear videos demos on his Mac book like I mean you do not have to run containers in the cloud containers can be run anywhere doctor runs we can run containers so that’s 1 of the cool things about containers by the way is supportability. I called it sequel want to stick mean it literally could take your docker image for SQL server you do a concept called save it to look at our file carried around anywhere doctor runs and justice run it so it’s very portable. Anything you need to do so but it does there were things like for example Cooper netes there’s Azure Cooper nettie service for example redhead has openshift there’s all sorts of different environments runcu burnys summer cloud summer on premise. I think the portability of dockers or one of the most amazing stories about it actually does that into your question yes. It’s only. Do you want to dress the windows container yeah so the question was do we know what’s the story behind SQL server in windows containers so that’s actually something we are? And you know what 2620 17 just a little bit of background we provided SQL server in Ubuntu containers as the base OS we then we had a lot of asks for both windows and Red Hat. Did the Red Hat one first it is it’s not a bunch more important the other you know we only have so many engineering resources but we are actually looking to we do have plans to improve our SQL server in windows container? But it runs you can do it we just have a full support storace yet but you could you could put SQL server on a windows container and build it yourself we have instructions for that we’re just trying to find a mate. We want to get to the point where we are every time we have a new see you we are automatically testing in applying this. I would say you’re looking at water of months not yet I don’t think it’s going to be going to be that. Active Directory record that’s also in the order of months definitely not you know it’s tough for us to make any promises pasik 20 yeah but it’s like the team is actively working on it right now. I think you question right there yes I actually have a question about SQL power you talked about the performance and you said your questions usually in some instances it’s faster on Linux in some instances is faster on windows. Nice on that the sequel power only runs on Linux or for consistency sake even though it’s not necessary you have it on both windows and Linux also would you describe sequel power is more of an emulator. I’m so glad you asked questions so the question is is that it’s equal Power Rangers on Linux is an emulator so it is not an emulator it is literally a clever series of assembly code that knows how to take in some cases. I’ll call the need to make to a colonel like Linux and justice translate the calling convention so it’s actually very lightweight and what it does. Everything that we support on SQL servers Intel so if it’s just Intel assembly we just going to translate the calling convention calls so that we can go make a Linux kernel call so it’s very that’s why it’s very fast and very lightweight so it’s definitely. You later please make sure wonder stand is not that as far as sequel power running only on Linux the irony is that SQL pal is not used on SQL server on windows today we don’t use that technology but we have it built for that and some. Some particular folks in our organization are starting to use that even in a windows environment we have not decided yet to use that on SQL server on windows and only used for Linux but it is actually built in a way that it doesn’t have to be for Linux if you go back and look at the regional draw bridge project. Was actually about a windows project it wasn’t about Linux we took that work in made it work for a Linux system so yeah definitely the way we’ve built in fact if you want to take a nap on a Sunday afternoon? Go look at my past talk from last year I did a 3 hour session rusho debugger sessions to show you these calls tax and how it worked in looked so good question thank you. Yes. 556 minutes 5 minutes here great questions thank you for the containers how bout the persistent storage connecting back to the enterprise San environment. So the question was about persistent storage an your data in containers so. So you so yes you can process your data you can do this with a volume this could be done in several ways but if you were to do this in say Cooper netes where you were going to run this. For a production environment you have concepts called persistent volume claims and persistent volumes and there you could back it up with whatever storage type. You could have the persistent volume could be built with any storage type underneath and the claim is what’s used by the processes store their data in fact you could actually tear your storage with if you have multiple if you have mixed storage. Lake slower but cheaper and you have a faster but more expensive you could actually have multiple actually mix and match in your communities environment that different types of storage in your moment but just you know for justice a single container even just on your laptop. Post you can use what’s called the volume and say Hey my local file system storage here maps to my directory in the container like bar optimas equal and now it’s persisted even when you remove the container. My company have all my SQL service on the windows or is what are the good reasons we can justify to build a SQL server on links. So the question was Hey I have all my. I have all my SQL server instances in windows is there any good reasons why I should go to Linux the answer is no. Joining shortly the point is you know we’re not trying to compare SQL server on Linux versus SQL server windows right it really is about choice over the last few years but we’ve seen as a lot of customers. They have a large part of their application stack on Linux the only thing left for them on windows was to SQL server instance and they love SQL server however that because of that there was a tax for them to actually build processes tools automation. Across 2 different OS is an this became overtime more and more burdensome right now we’re not investing in one more than the other in fact this is the same engine that we’ve built for any OS mobile printing out on Linux. OK so this is more so a choice but we’re providing our customers not choosing one over the other let me I didn’t you see the focus that I wrote the book you see the focus we’ve made since 2017 for this. Well the reason is this is our were just started this I mean we’re new into the Linux world so of course we’re going to spend a lot of effort trying to make sure that people understand were very credible database for that platform it does not mean that we don’t think SQL in windows is a great environment member my. My first comment you know should you run sequon windows or Linux enters yes we just want sequel to be your good virus. What did everywhere right so yeah I mean I’ve had customers literalised to me look I’m on windows I think about moving to Linux I’m like why don’t like cause I just think it’s interesting in new I’m like OK well just take a very careful study about whether you really want to do that or not but then again some companies have said? Vendor said we’ve got a whole branch of organization on Linux they love you sequel but they can now and so they have kind of a mixed environment maybe they get into that environment and they say Linux is just a better operating system for us overall we’re just going to make a whole move that way. In spite your choice right. Just just pick ation so in a question regarding Active Directory integration so SQL server on containers does not support Active Directory integration. Not yet but SQL server on Linux does it doesn’t has an correct that’s great in 2019 just touch on some of the. Improvements are how you’re approaching the child the if you look at I could record the biggest difference there is actually managing your keys in kitabs so with the container we have to find a way to the challenge for us is actually to know how do you manage the lifetime in the lifespan. Of these keys because they do expire they have a state to it they have to connect to the have a make calls back to the domain controller which. Which would be which is somewhere else right so the challenge there is about how we manage the lifetime of these keys and which is why in a container because it could be up or down any given time? That’s the work that we’re actually doing and that’s why it’s that’s why it’s coming soon as opposed to having already been dirty been done I think you were first. OK I’ll answer that question so right now I think we even rojan mentioned Julia is a language we kind of thought about a little bit that’s the machine learning type of language I think what you might see us to first actually though is maybe build up the extensibility framework and publish it. Therefore it’s not up to us it’s up to you right but I can’t really tell you first year commitment of what we’re going to do right now is just Java but julie’s one that we’ve kind of toy with little bit so you have another question. AG within the gubernatis cluster yes standard AG limitations as far as how many replicas. OK so salomons you can’t not we’re not going to be the study G it’s the same thing that same process yeah OK last question. Do you have any advice on right now we have SQL servers they’re unsafe 50 lightweight databases on the same instance now they want the app that reads those databases to go into containers? About the hits to licensing because all the sudden now you have 50 instances instead of one instance. We have a lot more korczyn use so the question was about licensing so. It depends I don’t take a licensing questions because some people like oh you know they said this is going to be super expensive for. In short there is we have our licensing guide but depending on your general is if you license all the cores on your machine so it let’s say you have 4 cores and your license all 4 cores on your machine. With it with E and then you could have you could you could have as many containers as you want I’m not machine contain the container licenses similar the virtual machine part and if you look at our licensing guide it’s kinda very similar thing where you can actually have unlimited. On the license you put bot it’s not as you kept all those containers on a spoke yeah yes exactly correct but you like that’s exactly. OK thanks for your time for sure the question is will stay here also afterwards if you have any other questions thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *