Moving MongoDB components to Go

Video in TIB AV-Portal: Moving MongoDB components to Go

Formal Metadata

Moving MongoDB components to Go
We love Go and this train is unstoppable!
Alternative Title
Go - MongoDB
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date
Production Year

Content Metadata

Subject Area
Open source Cellular automaton Order (biology) Source code Projective plane Shared memory Bit Cartesian coordinate system
Word Moment (mathematics) Musical ensemble Cartesian coordinate system
Axiom of choice Email Insertion loss Discrete element method Address space
Drag (physics) Building Connectivity (graph theory) Projective plane Device driver Set (mathematics) Bit Database Cartesian coordinate system Limit (category theory) Discrete element method Right angle Endliche Modelltheorie
Open source Projective plane Open source Shared memory Database Line (geometry) Cartesian coordinate system Limit (category theory) Scalability Goodness of fit Computer configuration Personal digital assistant Object (grammar)
Slide rule Group action Dependent and independent variables Server (computing) Transport Layer Security Device driver Price index Special unitary group Stack (abstract data type) Device driver Cartesian coordinate system Number Formal language Data model Arithmetic mean Hypermedia Bus (computing) Right angle Figurate number Computing platform God Library (computing)
Word Term (mathematics) Gradient Multiplication sign Open source Content (media) Device driver Database Product (business) Physical system Identity management
Server (computing) Different (Kate Ryan album) Gradient Programmable read-only memory Manifold 1 (number) Musical ensemble Set (mathematics) Database Client (computing)
Point (geometry) INTEGRAL Multiplication sign Disintegration Projective plane Database Database Bit rate Mass Cartesian coordinate system Normal operator Revision control Term (mathematics) Different (Kate Ryan album) Summierbarkeit Whiteboard Extension (kinesiology)
Java applet Multiplication sign Execution unit File format Set (mathematics) Real-time operating system Mereology Replication (computing) Different (Kate Ryan album) Military operation Physical system Metropolitan area network Mapping Namespace Data recovery Point (geometry) Moment (mathematics) Hecke operator Data management Process (computing) output Self-organization Configuration space Ideal (ethics) Asynchronous Transfer Mode Server (computing) Backup Statistics Computer file Sequel Firewall (computing) Tape drive Virtual machine Rule of inference Spreadsheet Operator (mathematics) Namespace Associative property Backup Operations research Cellular automaton Surface State of matter Mathematical analysis Similarity (geometry) Mathematics Integrated development environment Query language Library (computing)
Mobile Web Group action Thread (computing) Code Multiplication sign Chemical equation Software developer Moment (mathematics) Source code Bit Limit (category theory) Mereology Formal language Product (business) Process (computing) Term (mathematics) Core dump Process (computing)
Server (computing) Building Scheduling (computing) Digital electronics Thread (computing) Code Java applet Equaliser (mathematics) Compiler Data storage device Mass Portable communications device Revision control Preprocessor Mathematics Goodness of fit Different (Kate Ryan album) Atomic number Kernel (computing) Operating system Energy level Metropolitan area network God Physical system Operations research Server (computing) Software developer Code Human migration Type theory Process (computing) Kernel (computing) Integrated development environment Cycle (graph theory) Musical ensemble Scheduling (computing) Communications protocol Library (computing)
Scaling (geometry) Multiplication sign Mereology Error message
Functional (mathematics) Thread (computing) Computer file Code Line (geometry) Coroutine Cloud computing Set (mathematics) Mereology Binary file Rule of inference Formal language Power (physics) Revision control Medical imaging Source code Arc (geometry) Parsing Mapping Inheritance (object-oriented programming) Haar measure Wrapper (data mining) Keyboard shortcut Moment (mathematics) Mathematical analysis Code Special unitary group Staff (military) Complete metric space Thread (computing) Human migration Data mining Repository (publishing) Revision control output Object (grammar) Reading (process) Computer-assisted translation Library (computing)
Beat (acoustics) Functional (mathematics) System call Thread (computing) Code Multiplication sign Patch (Unix) Coroutine Device driver Set (mathematics) Online help Parameter (computer programming) Mereology Disk read-and-write head Software bug Revision control Latent heat Computer configuration Different (Kate Ryan album) Source code Energy level Data structure Multiplication Compilation album Physical system Stapeldatei Cellular automaton Consistency Device driver Flow separation Symbol table Word Kernel (computing) Process (computing) Video game Window Library (computing)
Dataflow Functional (mathematics) Distribution (mathematics) Code 1 (number) Device driver Mereology Independence (probability theory) Revision control Latent heat Goodness of fit Mathematics Kernel (computing) Touch typing Software testing Computing platform Distribution (mathematics) Binary code Code Bit Expandierender Graph Mathematics Word Kernel (computing) Spring (hydrology) Integrated development environment MiniDisc Software testing Sinc function Window
Standard deviation Concurrency (computer science) Code Concurrency (computer science) Set (mathematics) Data storage device Data storage device Data compression Library (computing)
Area Slide rule Computer file Different (Kate Ryan album) Googol Moment (mathematics) Data storage device Energy level Parameter (computer programming) Instance (computer science) Parsing
a review this if you have if you so think used to join us in this our exciting in while this is a the most important conference in Europe for open source right everyone agrees with that this is where we all collectively gum here to learn a little bit or maybe not learn that much but please share a lot of experience is all around the things that we're working on order things that we love the most so this is this talk is a little bit about that not that I work too much with go myself in this project and then to presenting you but the rest of the company's trying to are moving a lot for a lot of tools we don't go in I'll try to explain why and what what kind of tools are what are we doing that so this this talk if there's anyone here thinking about moving there source code of some application that having to go probably this will help you a little bit maybe not I know but that that's there that let's cell idea so who am
I and the words so I my 2nd goal in bands was formerly the I can survive and the slag down crack carry on so I generally do these things surrounds explaining what we do with technology and how we can use moment to be to help you guys figure out how to build applications so this is a little mice gospel and is out of Madrid although I'm not Spanish but that's not a bad thing to be Spanish but you are not just happened to live there yeah that that that was the problem so that before
so this effect and fix that the I I have to but in OK
the but our again so
in I'm basically go over by choice because my background is mostly Java and Python so the are Python suppose plus and all that but generally go does work very well and I'm kind of falling in love with go for they have thinking over the loss of no no it's gonna happen so if you have any other questions are through the it's always a good channel to to chat and obviously my my e-mail address so let's start by
tell you guys about what this stock is not about is this not about and go you guys
know and go here that I so is anyone here using only the star the pretty much before and when 2 of everyone is using going soon you or anyone and trying to learn a little bit but go drag so you're in the right place but I'm not concerned about the model with the goal internals or anger go which is a driver In obviously I'm not going to talk about so I'm not going to tell you nothing about the features that are out the set up a cluster or a replica set or to put it and also not interested on talking about how to build applications of go using normally that's not what is about it's about we as a company as well as a project let's say we set up a set of tools that the divers requires that our purely on go so I am mandated to do little guys limit of Introduction to the because there's a couple people here don't know what is right so everyone heard about moment be correct the we spend a lot yeah who here uh lights model uses a lot more of to you a single a kind of cake so all year of hates mobility and and that's fine because as my colleague as comes given if you guys know what she has the nice thing about the database you hate the most is the 1 that we use so if you made a lot of money means it up using a lot so it's get so keep on I'm going to talk to you about the components we read on go add which 1 of those there are why when how in the lessons we learned when we're porting a big chunk of C + + into on go so a little bit of an
ß short introduction to me we
are in doubt is it wants to build this so we want to create obligations never before possible that's the whole idea about my this is a lot of marketing and stuff I work for marketing departments ascent gun battle so bear with me for a while but this is basically that objective and it's not to you know had a nice equal batteries it works fine for everyone of POS RES oracle mice or whatever we use and then we're just going to flip its money be just because it's cool a lot of people do that and they are my friends but generally that's probably not in your best interest you need to think about what you want to do your application and what are the limitations that this largely offers you and if there are no other options out there like Mundo and probably share looked but it's on the scope its things that you couldn't do before and now you we actually wanted so it's a open source project obviously otherwise we wouldn't be allowed to know you for them and it's a document oriented 4 of generic or um general purpose that its meaning that you could do a lot of stuff with it and there's a lot of use cases straight Monday's be good and there's a lot of the use cases that people tents do good things with money as well and this
reflects in these numbers which are more than 9 million downloads and that number there it's going be essential for future slides in the stock that hold on for that that we have a lot of people signing a for our education plus platforms sign up for the conferences on somebody like mom days and there's lots of people signing up for Marx which are among the user groups there's 1 here in Belgium I had no some of you should have been in that so a user group that is they are spread all over the place and meaning everywhere the from God south to east west every
and there's a reason for that is that while people don't just use go go figure right so shortly there are lots of other technologies out there especially languages that's user divers as well so we will obviously you're missing the most important ball which is called will run which is not there there's a reason for that and we don't want to keep feeding the bus the beast but I mean there's a lot of other applications of here the people build on top of this technology and supports all of them meaning that we have a library which basically driver that's that's all they have a competition of can begin with the server getting back the response realizing things into the sun and getting things done is sitting here if anyone has complains about PHP driver the driver guys here Jeremy about the UK evidence not the again so they go and I it's 1 of the languages that we support and there's also a lot of features about normally be that's adding I'm not going to kill you with a lot of that but I'll I'll show the slides in this is content available so it's geospatial annexation full-text search I don't what it well other things so looking at this picture and being at the go that room there's something missing right
so is this guy recorded so I shouldn't swear every time I use swag it where the fuck is go it's not there so what happened with words so how are you and the good come here and and talks about going you don't even have a driver
actually someone else's the identity doesn't know who stubbornly Meyer is a well known persona is uh has been doing a lot of the countries has to go into the go system to build a lot of stuff from ghosts and in the end go is 1 of the we as accompanying we are users of what these guys as creative that so there's no better thing to see that we created this all product or or obligations database and then other people builds drivers that then some of us become employs among be but also there's other people which in there fair time or just start building stuff and this I was 1 of them they builds the term this driver and we use so it's it's break at our relationship is that we contribute to with you pull requests we do our we give em all the content that he needs to build it up and keep it updated so trust the thing it's very well built such a 1 of our best arrival of so a
database is usually not only a server it also has a client and a set of tools that allow us to operate because yeah we have obligations that you that but you probably want to do operational stuff like migrating from the center is importing data from 1 set to another so that's building up new stuff is correct and what is happening with your servers all those things need to be managed and melodies
not difference if you download the . easy from nominally but common flesh downloads you will if you look if you unzip at this is what you get right a manifold with a lot of different binders and some of them the this ones are written and go prom treated 0 onwards actually to donate on it but it's to the our all of this fire have been rewritten into a go so if you are installing nobody you're installing go miners built into so these are the tools we've
rewritten and molar dampen the restoring imports exports the sum them on the knowledge up move out from the guys actually use the lead sheet is this a new to you dams are you know about it you know about that and how is the performance of at this point is it good is it practical well at that command line tools so you do normal operation but some of these tools there are very important because they do data loading or ladle floating from systems and if you have a 10 terrabytes data you start going you want that thing to be fast he wanted to be you know multithreaded and all that so that you don't still on time so there is a need to do something about that in terms of performance we also have a lot of other tools or as a applications that also are completed the win in Go MCI it's probably the 1st big project we have internally that completely users go actually the damn thing is completely on go except for the front-end layer which is angular I'm not going to talk too much about it because we're going to do something quite nice in a couple months about it so stay tuned for it and the MMS agent hear anyone knows what and the masses and some of you again particularly the so
MCI's basically continues integration to we use all the tools like you guys do like Jenkins bamboo all that and all those are great right everyone likes Jenkins yeah or Hudson as it was previously yeah In bamboo as you guide you guys know what I'm doing is again it's right grant the so why do we need a new to well if we think about it in the database world and that is not particularly applications that need a lot of integration as different versions that there are several different builds there are several different bills a different I extensions on it and we kind of broke Jenny Jenkins a lot so we decided to build something probably board dedicated in his money the users go and up and it works fine for us now so it's recall we also
have a mn which basically as monitoring monitoring and management system which allow you to do a whole set of things like our automation of a cluster I have an idea of a cluster relative to below the set machines and I want the system to build map for myself I don't want to go to each 1 of those machines interfered them and set it up in the input to replication on it the other 1 do any of that I just so the system to do it so 8 MS is a solution for that we do that we also do the monitoring part and the backup completely automated backup of your courses which for OPS guys this is kind of cool and the MMS agent used to be of written in Python and we had the backup agent was a subregion which used to be written in Java this is anyone know what's the big problem of doing that a tool that goes into servers and picks up things in manipulates data 18 servers are behind firewalls and behind firewalls India and far rules you guys know what the prominence as anyone deal with how many of those servers you think that if you're a Java very few I can guarantee you specially on very traditional very environments like big banks and you super-secret organizations they don't to who Java or if they did do job at 1 4 and this is the reality people do not put in a JVM just because they like they will probably use the same reason that some guy back in the eighties builds once and that that said that's the 1 that they will use the Python exactly the same thing if they server is running about a Bayes they do not conceived of the need for having Python libraries on so probably even a hand up with a lot of problems of you saying to the people yeah we have this great tool that monitors and backs up and deploys everything automatically but then the the thing doesn't run a because they do not allow it to integrate so we need to 4 in the ns agent when you to come up with a solution a solution that would be basically these things we want to create an idea of the cluster created in adjacent file send it to the machines that I we monitor manage and then they will create themselves and needed to be out reactants into be synchronizing with all the remaining no so you need to have Buber lization engine to make sure that he knows what happens around himself and he needed to be extremely cross-platform reactive incomplete need to be able to do everything that we doing mother-to-be configure all the the features and make sure that the thing works so these are the classic primitives for for then as is moment tools they are a little bit different because they run the command line and they basically used mostly these are for malex partner parts the physically uses text files you just dumb things into tax associates tediously wherever and then you put it back this is pretty good for the analysis of you code or your data that if you want to be exported to a Excel spreadsheet or usually use the cells mom parties when you want to build your own of stuff so you have your own backup processes that data somewhere in the tape or some similar in your system use something like this if you don't want animals of and there's also a monitoring tools like measurement tools like mom stats minus that is a tool that we have to having a look at the question how many surface 2nd I many queries so not everyone here is familiar with ideas that India MCI practice so think of among the set is the equivalent from among many you can monitor everything in real-time or giving it a unit of sound to the sampling it will just collect data statistics on it we also have mobile not you guys are familiar with that my sequel top for example everyone knows what it is all basically gives you how much time you are spending on 1 of these operations moment top just doesn't per namespace which basically how much time we're spending for writing and reading from the city suffered that is a collection so these are the basic tools that we migrated to um to go and why you would you would we
do that they were working they win supposed wants everyone loves its super that we have a big bunch of engineers that work on supposed was why the heck do we need another tool for
another language 1st of all am when we started building a a the product there was limit resource intensive people we had our core and still have our core of Persepolis those people and there were very short team so when we did this when you create all these tools specially moments for them but we do have a lot of time and we have a big code bits so visible and with it is extends what we have in terms of source code and do those tools so basically we created a lot distills with dependencies to work the current already hats now if you go to that uh to that 16 and unzip it some of the tools are almost the same size as the mobility so basically we are shipping or we were shipping Melodee's certain of those tools and there's a good reason for that was a lot of dependencies like you can see from this graphical other dependencies and and call the balances and breaking those it's quite hard and suppose books has anyone in than some some kind of an action of extrapolating code from supposed was uh and based and making isolated so to it is hot it's not so as funny as you might think this so there was a lot of legacy code that we knew the supports and this was basically creating a lot of uh Casagemas 1 wanted to add new features or change the behavior features by getting to Freddy for example to certain parts of those 2 and palate relies
processing was 1 of the I don't know how many of you guys are extremely suppose plus but it's not that is not possible edges it it's hard to do uh multiphase development on a single thread changing from a single thread to multithreaded 1 when you have already established of that's it's really hard to do you suppose books probably go it's funnier and much much faster In obviously
portability so where does C + + why 6 so what happens when we need to build things for different kernels or different versions of the operating system what's the 1st thing we started type the while can tell you 1 thing it's a belief that for peak preprocessor instruction right if that's a system that is and when the original aside libraries and and do things differently in and other things testing man's it might be our you need to have you all hearing you armory pre-prepared after the launch these those yet to launch the server they're uniform the centers over and over again on all the situations of atoms there so the Y that we would do such a migration workable things we decided to change the code base of these tools because we want to test them better we want to have a much more modern code base to support it we also wanted to our make use of all the at all the and that's a knowledge that we acquire building internal to a very by the NCI so we were prepared to just the ship we also have a lot of good job others in a house like immense it's mostly Java so we were kind of worried into to decide I wouldn't build these new tools in Java or a some of some of things well thank God they restrictions on running compiled code on environments that don't have Jt ends that Woods would need to be so go solve that they raise supportability was a very very important thing and obviously we also already doing that saying go change for them a mass of kind of gonna handle the so we we need to that also separate ourselves from the development insect cycles of development from the kernel so if money be 3 . 0 which is about to be launched takes like 6 months to build if the tools to needs to wait for something to change somewhere in the nested on the kernel that creates a lot of lag between what we want and what do we can achieve and so and this was pretty creating a lot problems when you want to but fix it corrected improve it and so on so there was a big issue as well so to alongside from the from the kernel team those guys are slow we are faster so how are we going to deal with that and there was a need
things that we've seen that that resulted in a big improvement so 1st of all we could immediately add multithreading probe uh support it's not that we cannot do it ends not that we don't do it among many being yes we have some multithreaded pardon underneath hours it's it's the that is level locking but that's kind of cool thing about but that we needed to do this immediately in need this in a very for easy wine and go does that go those that line the circuit is really 1 of the best things ever and will come up with ideas of go reading the music it's really everyday so we also need to do some some stuff more intelligently like scheduling to divide lots of we we have found the granular level locking from a to B from 3 . 0 so we probably would like to benefit from it we also want to head on and I something called bulking search and so on that we have implemented on a on the Y protocol so we need all that and a
immediate great of is that we had better performance in a large scale so this error over here is running the 2 . 6 mm only being Porter and this is running around with the new 1 new tools of the or so we just basically adding it up new threats the above 1 doesn't handle defined so if you have like 1 terabyte in 1 collection in 1 10 gigs In another collection you want to import export all that's you need to that to wait for more than 1 terabyte to complaints and then you go to that small thing that you probably don't need so much time to waste now we can do it varies In the part performance gain is like the quite significant so how to do it
obviously doing something fresh mixes is all very happy right it's like stripping and how the best under the rug you just can't start new so you start afresh you liability for so you pretty much know what you need to be doing next that that's cool so we don't know completely the the salsa new complete code base we need to maintain obviously all compatibility with other versions of the server money to be does that very well so then and go does that very well so there would not be a problem for that ends up around the the the way that we deal with things like the be some burdens on since the sun is a binary format you don't really need to care too much about as long as the library that implements and serializes does it well that that wouldn't we go has this thing called the you'll see your and say go of Siegel depending on where you coming from so which gives you the old very very nice surviving if we actually needed to call something from the from our legacy code we would just call just import C it build a small sees the wrapper call the function and that's it and that that the input and the multithreading and again is is like it's it's fantastic is a primitive of language you if you have something that you're running single-threaded changing that a multithreaded just Congo routine and that's it is pretty much what you need to know for this kind of uh migrations so it all made is very happy it analysis within the to would sepals was anymore that much so we had enacted the and also using a modern language which is built for what we have today gives as a set of much better passing what libraries so far seen command-line arguments on C + + is completely possible everyone likes it while no basically no 1 likes it but it it's obviously there With this you passing libraries it was much much may be easier and yes see go is super super handy Our images get out and show you guys
and go a set of talking so much so when I say that the bindings of C very very easy but way this is sublime I'm not happy to show you couldn't 1 with it's much more then rules France everyone knows that so it just seen part c the parents you call see with these people function that happens to be in a file Anderson directed into importing it from and you can call it from go and that's it that's pretty much as much effort as you need to think about when you are implementing things with go and you need to do some kind of mind yesterday on the we talk there was a colleague of mine Emily which were is talking about how hard it was for a ruling to implement because he had it to do all the mappings of objects to see and Seve to Ruby in read to whatever so this I mean this is beautiful and there is a lot of other places that we call this and by the way if you see a lot of money to be um on staff doing now c binding talks they all become 1 single feature which is SSL support that no 1 uses always and the sea powers that you are calling that's it so anyone can write kind things like this and it's like than it's it's so the previous talk we're talking about GC before wherever and why would we use it from go at it's just you know FIL you in go and you have a it's it's pretty much and so here know fetch it's it's obviously own goal and the dark it's super super handy and so the code snippets that if you get to the money to be on the moment EBI repository tools this is the thing that we know that without there so we have also a nice surprisingly somber show this is because he was was quoted you guys can't see and I'll show it to you guys in the code because it's much easier the so it
would be if you 2 options that go which is the libraries it pass all the interim arguments that we use from the from the tools obviously we have a common thread of where we treat all the common arguments in it's like symbol as defining of structures which have options on it like the beat collection in of general if you want help or version or was it did so and this is quite nice new everyone can read this very well run and this to implement and test it's also very very very fun to do are you just need to create structures for the things that you need 1 gets a cell where when you're doing with the the same thing supported by C + + you start with the big uh license agreement because you this is also 1 of the good things about go the fact that we moved away from the sepals close codebase which is bounded to the kernel and moved it to a separate code bans also allowed to change licenses so every time you do contrition to go but similarly to go and sign the agreement of the license as a user in all that because of the uh federal and you a federal and licensing if you change that's a patch it's much much simpler just we can just accept and the commit simple requests with no problem but getting that tailored to the tools this is the kind of thing that you need to start adding to this is just a pious our command-line arguments Mrs. not this is bad but if you think about all that the word that you need to do with the if that's again for specific style on Windows and specific style of justice Eve Mongol SSL is implemented on on and all that thing while he kind of comes quite heavy and you have you need to add up the 2nd part of the which is the way you think you have thank which is the not age where everyone loves which is a useful and useless piece of uh code that we cannot minutes because if we miss something here this was a complete your on compilation so OK enough batching on C + + we all suppose was anyway and
obviously go routines I making this function over here go multithreaded it is calling it as a function as a and that's it the and this is why the got invented in this means a kiss every day because it makes life so much easier but not all this process goes without you know it's to the road I you have to do a lot of things because although go is foreign have 5 years almost good it's still there there's a consistent Innisville bills or there's still a lot of stuff that is not a complete reported to go or at least the parts that have been I I erase simplistic or do not have the full feature set of all the things that we need to for example we need to um even though though will we have access to SSL Ankara's libraries externally this support on that anyway there implemented there were a lot bugs so we needed to fix them which also helped this to country back to the go system which is cool so we we need to fix all of that this support from in getting the documentation for all these things it's not as easy as 1 like all those because it then it and very well hopefully but still there's a lot of learning a lot of scratching your level of thinking about how things are built and go which share some libraries that you cannot fully trust answering the aid to you know scramble up with and obviously the driver although the drive is very good especially coming from this is special being completely of third-party driver for so it's Cristabel's work basically amicable contributors up the way that we work with truck drivers is a little bit different from all the way that and go is implemented so integrating on gelling all this together the way that we work with things in the way that is implemented and go all Switzerland town so we need to also the at the mercy of the driver book support for example which didn't really exist or can work as good as we like to so this ends up being a lot of contributions especially from the Michael Brian which is the head of the ghost in go tools to country and a lot of things back
so articulates whatever we learned
thing what we achieved we achieved a Barakat base if a much better to isolated from the kernel so the guys from the kernel can do their stuff they got from the movie tools can do their own stuff it's why the testing uh In so it's better tested today than before because you don't have to build J is new test since suppose plus for example and we can do is test ones In will run exactly the same thing on all different platforms which is all about probability so before we need to create specific tests for windows and we're still had to do it for a specific up optional like SSL support and all in a sense the generic way that the goal tools work is that you tested once and just runs everywhere the same way so that's guarantee that that uses a lot more room to do other stuff which is much more interesting the the last few years wow of we requiring we has built-in tools we requiring some functionality or some change on the code base for the C + + stuff and breaking the kernel that never happens there are a few seen that we need to something being introduced by some other thing that is not relevant enough in breaking some kind of the critical feature in the elite that never happened words about that but that he could have been so where we want to apply that obviously allows us to do talks ongoing expand our goats uh go for which is a good thing we won't let they also allows us to get in touch better with the tools and with with the community and we can get back a lot more uh pull requires somewhat more contributions in the back a little bit so they go we expanding our go flow obviously we gain a lot more performance um not that we couldn't allow it to do multithreading all just on go but the fact that we can iterate much faster on this simpler code base in a much more modern makes is all the prior more productive the end the better probability of so many tests not many hangs surrounds you know any 2 set up a fully environment this a disk and run from code a hockey team that that's quite important because those guys Baby Ears and I get to the part sometimes so Spring 1 and ICS we we have with some good regions for of so rapid the driver and the passing lives and so on so it's it's good and then the 1 that I regular that is that from those 9 million downloads if everyone at this there on version of we will probably the biggest distribution based on go or at least part of it so we will be sending go code to a lot more people than ever before so which pretty good I asked yesterday Brad if what was the the biggest distribution of but say and user goal of functionality or a binaries there's something going on on the gold do they go dried and install and all but it's not clear if it's using go or not so they would probably the biggest 1 so so
I'm excited about this guy I obviously can't wait to get my hands on on on this code and tested and break-even and complain about it's great so can I started
using it obviously I can 3 . 0 release standard 7 is already out the door and has a lot of new features like a pluggable storage engine improve concurrency compression library because that's in obviously our tools we write and it's also coming with the White Tiger which is making the data war so money be will make big data raw and do you
guys are in any questions and some of the things that you want the yes so the question is how on the coded you show Mr. Basel was that the argument parser yes it is my no we did not use a standard flat good question I don't know the answer for that 1 I think that that the other 1 is much cooler and we can fit to be to that so I but there's there's a reason why all all I want you know just drop the about the the so our yes if you are probably 1 yes in problem that they go up and but not all of them so there are a couple of uh and command line arguments that we are dropping because he will not be compatible with the way that we exported data for 2 6 2 2 3 0 for example there was a cool feature in my opinion that you could export data for a moment the instance without this has been running just pointed to the DB path since we now have different Storage Engines me meaning that not everything is being going be stored in the some purely we cannot do that anymore and also we cannot do that anymore because we change the way that we do with files so but that's a completely different talk I can show some slides that's not the purpose of this of this 1 any other question from get your level and what would you do have the question is do you have argument come on argument would begin with the alleges yes we do that's the answer to your question area any other questions it so I'm entitled to the MFA in