Tuesday, August 25, 2020
Davis Surname Meaning and Origin
Davis Surname Meaning and Origin Davis is the eighth most regular family name in America and one of the 100 most basic last names in both England and Wales. Last name Origin: Welsh,à English Interchange Surname Spellings:à Davies (Welsh), David, Davidson, Davison, Daves, Dawson, Dawes, Day, Dakin I'm not catching Davis' meaning? Davis is a typical patronymic last name with Welsh roots meaning child of David, a given name that implies dearest. Fun Facts In the United States, Davis is one of the ten most basic family names. The variation Davies, in any case, is scarcely in the best 1,000 most regular last names. In Great Britain, this last name ubiquity is turned around. There, Davies is the sixth most normal family name in general, while Davis is the 45th most basic last name. Where Do People Named Davis Live? As indicated by WorldNames PublicProfiler, the Davis family name is most normally found in the United States, particularly in the southern conditions of Alabama, Mississippi, Arkansas, South Carolina, and Tennessee. It is additionally a typical last name in Australia, the United Kingdom (particularly southern England), New Zealand, and Canada. Progenitors positions Davis as the 320th most basic last name on the planet, with the most elevated numbers found in Jamaica, Anguilla, and the Bahamas, trailed by the U.S., Liberia, and Australia. Celebrated People with the Surname Davis Jefferson Davis, President of the Confederate States of America.Miles Davis, compelling American jazz artist.Angela Davis, political scholar and dark force activist.Captain Howell Davis, Welsh pirate.Sammy Davis Jr., American entertainer.General Benjamin O. Davis,â leader of the Tuskegee Airmen during World War II.William Morris Davis, father of American geology. Sources Beider, Alexander. A Dictionary of Jewish Surnames from Galicia. Avotaynu, June 1, 2004. Cottle, Basil. The Penguin Dictionary of Surnames. (Penguin Reference Books), Paperback, second Edition, Puffin, August 7, 1984. Davis Surname Definition. Ancestors, 2012. Hanks, Patrick. A Dictionary of Surnames. Flavia Hodges, Oxford University Press, February 23, 1989. Hanks, Patrick. Word reference of American Family Names. first Edition, Oxford University Press, May 8, 2003. Hoffman, William F. Clean Surnames: Origins and Meanings. First Edition, Polish Genealogical Society, June 1, 1993. Menk, Lars. A Dictionary of German Jewish Surnames. Hardcover, Bilingual version, Avotaynu, May 30, 2005. Rymut, Kazimierz. Nazwiska Polakow. Hardcover, Zaklad Narodowy im. OssoliÃ¥âskich, 1991. Smith, Elsdon Coles. American Surnames. first Edition, Chilton Book Co, June 1, 1969.
Saturday, August 22, 2020
How the Prologue in Romeo and Juliet Prepares the Audience for the Play Essay Example
How the Prologue in Romeo and Juliet Prepares the Audience for the Play Essay Example How the Prologue in Romeo and Juliet Prepares the Audience for the Play Essay How the Prologue in Romeo and Juliet Prepares the Audience for the Play Essay The preamble to Shakespeareââ¬â¢s Romeo and Julietââ¬â¢ readies the crowd by doing a short summarize of the dramatization so it gets the crowd accepting about what the story is about. The preamble is a work which is a 14 line section structure. it is other than known as an English. elizabethan work which contains 3 quatrains and a rhymed pair. A work is regularly an adoration stanza structure and that is correctly what Romeo and Julietââ¬â¢ is roughly. The principal quatrain of the work is about the fight and battle between the two family units. Both of the families have a similar position both moreover in dignityââ¬â¢ however they appear to keep a grudgeââ¬â¢ against one another. we arenââ¬â¢t determined what causes the scorn inside the two houses however it is at that spot and hauls the families into fights this is particulaly appeared in line 4 where common blood make common guardianships uncleanââ¬â¢ the word bloodââ¬â¢ is proposing that expire and harms happen because of the quarrel the families have. Civilââ¬â¢ is intended to expect poliet or just which is a spot dry since there isnââ¬â¢t any delightfulness. The second quatrain is about the darlings. Romeo and Juliet. also, their expires. From forward the deadly pubess of these two foesââ¬â¢ this line is expressing that the two family adversaries have delivered a support of darlings. this is predominantly accentuated in the expression deadly loinsââ¬â¢ this infers these being enamored is inertly and they are other than engaged with the quarrel of their folks. It other than implies that their fate has been chosen and that perish will be their destiny. The second line A support of star crossââ¬â¢d darlings end their life this is suggesting that the stars which is planning their destinies. since they accepted that stars told their destiny like horoscopes. so being star crossââ¬â¢d sweethearts implies that their destinies are laced yet they are other than against one another because of the fight. The last line of the second quatrain doth with their expire cover their parentsââ¬â¢ strifeââ¬â¢ this demonstrates so as to stop the fight the perishes of Romeo and Juliet appear to take influence on their folks. The accompanying quatrain is about both love and disdain. The primary line The frightful progress of their demise checked loveââ¬â¢ this implies all the occasions that they experience will take them to their destinies of perish. The second line says that their folks choler is something that isnââ¬â¢t simple to remove yet in the accompanying line which however their childrenââ¬â¢s terminal. zero could removeââ¬â¢ this implies the solitary thing they canââ¬â¢t end is their childrenââ¬â¢s expire and it was brought about by their contempt to each other. The last line is presently the two hoursââ¬â¢ traffic of our stageââ¬â¢ this suggests the occasions that they have referenced will currently take topographic point on the stage by the histrions. The riming pair is the last to lines of the poem. The which. on the off chance that you with persistent ears join in. what here will lose. our work will try to fix. ââ¬â¢ These two lines are currently coordinated to the crowd and that now they are making a trip to demo them the dramatization in the event that they are happy to remain. The expression tolerant ears attendââ¬â¢ show that since they are on a stage they donââ¬â¢t regularly use view so you need to tune in and use their inventiveness to help what is go oning. In choice the preface to Shakespeareââ¬â¢s Romeo and Julietââ¬â¢ set up the crowd for the dramatization by adverting the cardinal realities to the show so they comprehend what to foresee when that impossible to miss occasion is being performed other than it assists with explaining the pieces of the show which appear to be a mystery like the guardians contempt. the crowd would non cognize that the two family units are intended to be having a similar position simply that there are two gatherings who donââ¬â¢t like one another. It other than readies the crowd like an admonition expressing that perish will occur in the show each piece great as affection and contempt.
Wednesday, August 5, 2020
Neo4j
Neo4j INTRODUCTIONMartin: This time we are in beautiful San Mateo. Hi, Emil, who are you and what do you do?Emil: Guten Morgen! Thatâs it, thatâs all the German I know. So my name is Emil Eifrem and I run a company called Neo Technology and we are a graph database company.BUSINESS MODEL OF NEO4JMartin: Cool, what is that?Emil: So a graph database is a database model that is inspired by the human brain. The human brain is structured in neurons with synapses connecting neurons which build up the big network and the mathematical word for network is a graph. So what we have built is a database that rather than using tables which is sort of the standard model or it was used to be the standard model, it uses nodes and then relationships between these nodes which then builds up this big graph. And people know the word graph now because of Mark Zuckerberg like Social graph and thatâs definitely a very common use case. The nodes are people, the relationships are whether you know each other. B ut we have a lot of other use cases, in fact social is not even the most popular use case for us.So for example fraud detection ends up with every node is a transaction or an individual and then you have relationships connecting all of these and you want to find patterns in the big graph of payments, so there is one use case.Identity and access management, so you are a big corporation and you are a big financial institution, so we have a lot of big financial institutions and you want to onboard a new trader and that trader has access to the subset of all of the collateral that the bank has produced and the specific subset is controlled by what nationality they actually are, what products they worked on, even what colleagues they have worked with before because sometimes you may have insider trading rules if two colleagues who have worked before have access to the same thing. So thatâs a very big connected, complicated mass.Another final example is recommendation engine, people who bought this have also bought that, those kinds of things are also very graphy in nature.Those are some examples of use cases, if you have connected data, you sometimes get ten times faster performance than relational database and existing table based database but sometimes you even get a thousand times faster or a million times faster, so it is dramatically faster when it comes to this type of connected data operations.Martin: Emil, you are from Sweden. How did you come up with this idea and how did you start?Emil: So we actually ran into the problem ourselves. We worked at a start-up in Sweden, three founders of the project at least. And we worked at the enterprise content management company which is basicallyâ" Can I draw? Will that stick on camera if I draw?Martin: Yes, I guess so.Emil: So basically the problem that we had, we were building an enterprise content management system. And enterprise content management is basically like web content management which is the popular on e that everyone knows today. So it is basically a big file system on the web where you have folders, like this, where you have other folders in those and inside of those folders you have files. This of course is a big tree but it turns out that when you add security to this, so you are able to say âHere is Martinâ, over here. He belongs to this group, maybe Product Marketing, letâs say you are in product marketing. This Product Marketing group belongs to the Marketing group. Marketing has read access to this folder but product marketing has write access to this one. So all of the sudden, when Martin logs on and we need to check whether he has access to all these things, we have to look at all big, connected mess over here and this big connected mess over there and the connections between them. As we have this problem and we try to store that in normal square static tables which is entirely possible, entirely doable but it is just really, really hard.And so what ends up happeni ng is that, you end up doing a lot of joins, you end up doing a lot of cumulated things. When we started, we were 10 people in the company, 5 people in the engineering team and I was like twenty years ago. But a year later it was 50 60 people and twenty person engineering team and I was the CTO and I noticed that about the half of my team basically spent the vast majority of the time just fighting with the relational database. At that point we said, âWhatâs going on here? In all my other projects, the relational database has been my friend. So what is going wrong here?â And then we realized that after we double-click to that and really tried to find out what is going on; it was this miss-match with the shape of data that we had and the tabular abstractions that were exposed.So at this point we said, âThere has got to be another way.â What If there was a database that had this graph structure, exactly like the database but had the graph structure, instead of tables, that w ould be amazing, that would solve all our problems. So we said, âThere has got to be someone else must have had this problem, we didnât google around, we altavisted around the search engine at the time but basically we didnât find anything. At that point we saidâ"the famous words said, âLetâs just build it ourselves. How hard can it be?â It turns out fifteen years, this is back in 2000, fifteen years later it is pretty hard to build a database.So basically thatâs when we decided to build this thing. And we built it for a couple of years but only as an internal tool. Put it in production and in 2003, then backing that enterprise content management system. We always thought of it as something that is very generic. We did not optimize for this particular use case or anything like that and we really initially hadâ" already from the start we had very high inspirations and felt that this was something that we wanted to unleash upon the world because it just seemed unlikely that we would be the only people with this problem. At a macro perspective, if you take a step back are we moving to a more disconnected world or a more connected world? That is kind of a naïve question how obvious it is, right? Well but if thatâs true, thatâs going to get me consequences in all parts of the stack right and ultimately everything we do with technology ends up in a freaking database. Everything we do â" every software that we touch, this mobile phone, everything we touch multiple times per hour, all of that ultimately leads to a consequence in some database somewhere.And if the world is becoming increasingly connected and there is value in representing those connections, then thatâs going to exert a lot of pressure on the existing infrastructure and we just didnât see that over time, we would become less relevant, on the contrary, we felt like we were serving on the right side of history.But in the early 2000s there was absolutely zero market acceptances fo r taking a new type of database to the market. So I donât know how old you are or if you were around back then but basically in the mid-nineties there was this surge of object oriented programing languages, and on the tail end of that there was also a surge of object oriented databases and the inertia was that we have round objects now, we canât put them in square tables. Instead as the world is going to move to an object oriented paradigm for their programing languages we are going also to store those objects in object oriented databases. Makes sense, except it didnât work at all. And there were a number of reasons why and the key contributing factor was one keynote by Larry Ellison at Oracle OpenWorld where he basically wiped out an entire industry with one keynote, Larry Ellison style.The industry kind of tried out this object oriented database thing, failed miserably and so the discourse in the early 2000s was something like the relational database will always be the only database model. It has now proven itself, itâs like people thought of it as a mathematical axiom. We can build things on top of the relational database but it will always be that fundamental thing. And that was the discourse in the industry in the early 2000s. We thought, we have this amazing graph database and it gives us all kind of benefits, and again we thought that we were on the right side of history, like macro trends should be in our favor but we said, that there is no acceptance in the market to take this out there. And that changed in 06â and 07â.So what happened in 06â and 07â was that Amazon published a research paper, an academic paper called Dynamo DB, where they said, âWe are Amazon, we tried a bunch of different things but we were unable to solve our problems without having to invent our own database, Invent own databaseâ, right? And if your goal is to be an e-commerce site or sell books or sell computer resources, whatever it is that Amazon wants to d o, like you donât want to build your own database. You want to use some other database off the shelves so you can invest your energy elsewhere. But the very, very, very smart people at Amazon had concluded that there was nothing off the shelf that worked for them and then they wrote a paper on how they did that. And then a little bit later Google announced basically the same thing, they wrote an academic paper called Big Table where they say âHey, we are Google, we have some amount of expertise managing data and we have also tried the relational database and itâs also failed for us, so we also had to invent our own, new type of database and we called it âBig Tableâ.âAnd so this caused a lot of stir in the development community and all of the sudden people started realizing that, âWell actually maybe the relational database isnât the only thing that is going to be out thereâ. And then of course for a while, as with everything there is a pendulum, so people then star ted thinking that the relational database is going to die and go completely away but of course it is never true and now I think we are sort of a little bit of a fairly informed state where I think people generally acknowledge the fact that the era of one size fits all database is over. We are no longer just going to take all our data and shove it into a single system, in the past that has been the relational database. But on the flipside, what we are going to do as data architects is, we are going to look at our big data set because all data sets will be big and we are going to look at this part over here in my data is tabular in shape, so letâs put that in a relational database. This part over here is what I call tall skinny tables, so just key value bars, like this, letâs put that in a key value store and this part over here is big and messy and connected and chaotic and dynamic, awesome, letâs put this in a graph database. So we saw that and spun out the company in 2007, to ok all the IP on the database side and put that into this new company, bootstrapped for a couple of years and then raised a small seed round in 09â, focused on community and product, we were open source. And then in 2011, we raised our A round and moved over here and started focusing on building an organization, actually commercial customers and thatâs what we have been doing ever since.Martin: Cool. Letâs talk about the technology, so imagine I am a company and I believe in the big data paradigm, I have built all my data pipeline and then I would, for a specific use case only, for example use Neo4j and I would only take a subset of a data which I think applies for the use case. Is your database scalable over nodes?Emil: Yes, so it scales out horizontally. We donât use the word nodes because nodes mean something else for us. In the graph they are called nodes, the data elements, right? Itâsa little bit of terminology confusion. But it scales out across machines, so you can scale horizontally on commodity hardware. It runs on top of the JVM so it really can run wherever the JVM runs which is most places. It also scales up very well. So one of the interesting aspects about a graph database is that you typically donât want to split up the graph across multiple machines, you can but it is really hard and it sometimes leads to problems where, in order to satisfy one query you are going to need to pop across the network. Thatâs typically not very fast. So it is awesome if you can fit the entire graph into one machine. You donât have to but if you can, thatâs good. And so weâve worked also in addition to working a lot on scale out, we worked a lot on scale up, so that made sure that if there is a lot of memory in a machine that we honor that and we use that very efficiently.Martin: And the Neo4j is only the graph database or are you also offering tools for pattern analyzers, data visualizations, etc.?Emil: We do a little bit of tooling. But say 95 percent of our bandwidth goes into building the core database engine. Just because we are a small team and it is quite a big effort building a database but there is some amount of tooling offered by us and a lot of tooling offered by the ecosystem. Today we are the most popular graph database by a wide margin. Actually if you look at some objective measures, we are probably twice as big as all the other graph databases combined and not necessarily because we are so much smarter or so much better than anyone else but we just got started earlier and that does lead to number of really interesting benefits, in particular we run ecosystem. So since we have the largest user base of graph database users. It just makes more sense for any tooling provider to ride in our ecosystem. Thatâs a nice benefit of being the leader in a category and so we rely a lot on external tooling providers to provide the stuff around the database.Martin: Cool. What things are you doing in order to foster this kind of ecosystem?Emil: A couple of things. First off, we are open source and I think thatâs really the key thing. We have a community edition which is available for free. You can use it, wherever you use MySQL for free, you can use Neo4j Community for free, itâs the same license as GPL. So thatâs the key one, then of course we do a lot of things to try to grow the community and engage the community. Last year we ran, this is kind of crazy, we ran 500 Neo4j events last year, 500.Martin: Only in US orâ"?Emil: Worldwide. So if you go online on http://neo4j.com/events/ today, when you watch this, you are going to see 2 â" 3 events somewhere, probably. And I kind of lied there because I said we run them and thatâs not strictly true because the vast majority of those is just volunteers; people who love the technology so much and are so fascinated by it, that they started meet up group in Kuala Lumpur or in Onaka or whatever. They just talk about use cases, they talk about cust omers, they talk about new features, etc. And so our role in those is typically, we write a check for the pizza or something like this. But we also have big events, so next week we have Graph Connect which is our annual big conference that we run twice per year, thatâs how annual it is. In the fall we run it here in San Francisco and in spring in London. We are expecting about a 1000 people next Wednesday and Thursday, here in San Francisco. So it really ranges from the 10, 15, 20 people spontaneously, informally organized pizza and beer, all the way up to a big professional event. Those are some of the things that we are doing to foster and grow and engage the community.Martin: Emil, you said that you are open source basically. How do you make money?Emil: Weâre open source, we also have the Community edition which is available for free of the website. We also have an Enterprise edition which has a number of features that if you are a big company, you donât need them but you r eally want them. Things like the clustering that we discussed before which if you are Walmart, who is a customer of ours or UPS is a customer of ours and you have a graph database, running in production, you donât want that running on just a single machine. You want that replicated and clustered across a number of machines so that if one goes down, the cluster will still be up and running. There is a large financial institution which use us for onboarding of traders â" the use case I mentioned earlier. And if we down in minutes, the entire bank stands still. It handles 50 million requests per day. If thatâs down for a minute thatâsmillions and millions of dollars. Also that just cannot happen. So obviously, then you want clustering and thatâs available in the Enterprise edition. So thatâs how we make money. We sell it in the normal fashion these days which is a subscription based model so you pay every year for your right to use the software. So thatâs how I am able to buy water at Starbucks and things alike.Martin: And how do you acquire those customers? Is it mainly due to the community aspect or is it that you are having a direct sales force or maybe even a partner network?Emil: Yes, thatâs a great question. The actual acquisition Iâd say 95+ percent is organic, inbound through the community work that we are doing. So itâs someone out there who picks up the software, plays around with it, typically during weekends and evenings, likes it, realizes that, âHey, I actually had a problem, like last year that this could have solvedâ and the following year thy run into the similar problems like, âMaybe Iâll try this graph database thingâ. Then they try it out, start playing around with it; realize it does solve the problem. At that point if they work in a big company, typically they call us and the moment they call us we have a direct sales force. We are very much a traditional enterprise software company in the sense that we have actu al people answering the phones. But we do vast majority via phone so itâs not go out and visit with customers, thatâs the primary one. But we do million dollar deals, in all recurring revenue million dollar deals with global 200 companies working with the CIOs and itâs a very big strategic bet for them. And at that point of course we go out there and we shake hands. So thatâs how that model works.Martin: In the beginning of the interview you said, âHow hard can it be to build up a databaseâ, right? If you look back, why was it so hard?Emil: Wow, thatâs a great question. I think there are two aspects to that question. Sure there are multiple nuances but I will focus on two aspects.First off, it is technically very difficult to do a database and we have very high aspirations. There is a number of those no-sequel databases out there like for example, they said that the relational database is good with some things but they threw away a lot of other things. One of the thing s they threw away that we disagree with is transactions. Transactions means that if you run a number operations, if you write to the database and then you say âcommitâ, than once the database says, âyup, thatâs committedâ, the database will guarantee that your data will be there forever. And we think for a database thatâs not a negotiable feature. That has to be there. And actually a lot of people, strangely enough from your perspective, disagree with that and itâs very popular today to talk about eventual consistency and things like that.We actually agree with eventual consistency but we want to do that layer on top of a transactional core. My point is that writing this software is really, really hard; really, really hard. I mean it is the kind of thing, where it is like nine women wonât give birth to baby in one month. It requires calendar time. It requires you to be out in the wild, with customers, in production for a long time in order to really get the kinks out of that system.Just as an example, early on we had situations that, it is like back in 03â and 04â, so a long time ago, where if someone was writing a transaction to the database and the database crashed, so one thing that we do, unlike some other databases today is that we will always roll back to safe state so you will either see; not see that transaction at all or you will see the full transaction. You will never see half written data. In order to do that you basically use whatâs called a transaction log. And without geeking out too much in this, although Iâd love to do that. Itâs suffice to say that basically whatâs called a transaction log will write your data. Now so what ends up happeningâ" or what happened to us in 03â and 04â was that if the database crashed while you wrote this data that was fine. When you booted it up after the machine booted up when you started the database it will just recover, bring it back to stable state. Except there is a little bi t of a process, called a recovery process where it reads the logs, tries to figure out what is that stable state. What happens if you crash during that time? Then you will need to be able to recover from that.Martin: Itâs an infinite loop.Emil: Exactly. And those are just one tiny little examples of the loopholes that once are up and running with tens of thousands of customers in production, you are going to run into all of these kind of eventualities and itâs going to be on the combinatorial explosion of different versions of the Java virtual machines combined with different versions of the 10, 20, 30 OSâs out there, of the different versions of disk controllers and thatâs a very large combination of things that you need to guarantee that it works because thatâs what we ultimately sell to our customers. It is piece of mind, trustability of the data and so it must never fail. And writing that kind of software, it just takes a lot of time. So thatâs one aspect.The second aspect that I actually alluded to before which is that there was just no market acceptance for a new type of database. And what we have done is one of the hardest things in technology that weâve created a new category. This equivalent to what, for example, VM Ware did back in the late nineties. No one knew what virtualization was. It actually had been invented earlier in the mainframe era but basically they took the concept and created a market around virtualization. And Palm Pilot did that when they launched, if you remember Palm Pilot.Martin: Doesnât ring a bell.Emil: Well, that dates you actually. So they launched this thing that was this âpersonal digital assistantâ PDA, right? It was that phones end up killing them. But they created this new category. And we have been able to do that with graph databases. Graph databases is a term that we put together with some academic articles from the 80âs but that looked nothing like the modern graph database. So we just took the word graph and database and put it together and started defining it, giving it meaning and popularizing it. And now it isâ"Forester researchers which is one of the big analysts firm says that 25 percent of enterprise will be running on graph databases in 2017. Garker says that 75 to 80 percent of the leading organizations are going to be piloting and proof of concepting graph databases by 2018. The entire Global 2000, the entire Fortune 500 will be using graph databases in production by the end of this decade. Thatâs a very much zero to one kind of Peter Thiels terminology; so going from absolutely zero putting those two words together into where we are heading, we are nowhere near done yet but where we are heading is very, very hard and it takes a lot of work.Martin: When I look at entrepreneurs I always think, ok one thing they need is vision and they need to be naïve. And this is a good example because if you have expected how hard it would be you would never have started.Emi l: For sure. That is very, very true and if someone had told me in 2000 that 15 years later you still going to be working on this piece of software, I would be like, âDude, thatâs never going to happen.âMartin: Six months maximum.Emil: Exactly! Thatâs very true. If we had known how difficult it is to pull off and all the things that could have killed us and should have killed us we never would have even started.Martin: Good.ADVICE TO ENTREPRENEURS FROM EMIL EIFREM In San Mateo (CA), we meet CEO and Co-Founder of Neo4j, Emil Eifrem. Emil talks about his story how he came up with the idea and founded Emil Eifrem, how the current business model works, as well as he provides some advice for young entrepreneurs.INTRODUCTIONMartin: This time we are in beautiful San Mateo. Hi, Emil, who are you and what do you do?Emil: Guten Morgen! Thatâs it, thatâs all the German I know. So my name is Emil Eifrem and I run a company called Neo Technology and we are a graph database company.BUSINESS MODEL OF NEO4JMartin: Cool, what is that?Emil: So a graph database is a database model that is inspired by the human brain. The human brain is structured in neurons with synapses connecting neurons which build up the big network and the mathematical word for network is a graph. So what we have built is a database that rather than using tables which is sort of the standard model or it was used to be the standard model, it uses nodes and then relationships between thes e nodes which then builds up this big graph. And people know the word graph now because of Mark Zuckerberg like Social graph and thatâs definitely a very common use case. The nodes are people, the relationships are whether you know each other. But we have a lot of other use cases, in fact social is not even the most popular use case for us.So for example fraud detection ends up with every node is a transaction or an individual and then you have relationships connecting all of these and you want to find patterns in the big graph of payments, so there is one use case.Identity and access management, so you are a big corporation and you are a big financial institution, so we have a lot of big financial institutions and you want to onboard a new trader and that trader has access to the subset of all of the collateral that the bank has produced and the specific subset is controlled by what nationality they actually are, what products they worked on, even what colleagues they have worked with before because sometimes you may have insider trading rules if two colleagues who have worked before have access to the same thing. So thatâs a very big connected, complicated mass.Another final example is recommendation engine, people who bought this have also bought that, those kinds of things are also very graphy in nature.Those are some examples of use cases, if you have connected data, you sometimes get ten times faster performance than relational database and existing table based database but sometimes you even get a thousand times faster or a million times faster, so it is dramatically faster when it comes to this type of connected data operations.Martin: Emil, you are from Sweden. How did you come up with this idea and how did you start?Emil: So we actually ran into the problem ourselves. We worked at a start-up in Sweden, three founders of the project at least. And we worked at the enterprise content management company which is basicallyâ" Can I draw? Will that sti ck on camera if I draw?Martin: Yes, I guess so.Emil: So basically the problem that we had, we were building an enterprise content management system. And enterprise content management is basically like web content management which is the popular one that everyone knows today. So it is basically a big file system on the web where you have folders, like this, where you have other folders in those and inside of those folders you have files. This of course is a big tree but it turns out that when you add security to this, so you are able to say âHere is Martinâ, over here. He belongs to this group, maybe Product Marketing, letâs say you are in product marketing. This Product Marketing group belongs to the Marketing group. Marketing has read access to this folder but product marketing has write access to this one. So all of the sudden, when Martin logs on and we need to check whether he has access to all these things, we have to look at all big, connected mess over here and this big connected mess over there and the connections between them. As we have this problem and we try to store that in normal square static tables which is entirely possible, entirely doable but it is just really, really hard.And so what ends up happening is that, you end up doing a lot of joins, you end up doing a lot of cumulated things. When we started, we were 10 people in the company, 5 people in the engineering team and I was like twenty years ago. But a year later it was 50 60 people and twenty person engineering team and I was the CTO and I noticed that about the half of my team basically spent the vast majority of the time just fighting with the relational database. At that point we said, âWhatâs going on here? In all my other projects, the relational database has been my friend. So what is going wrong here?â And then we realized that after we double-click to that and really tried to find out what is going on; it was this miss-match with the shape of data that we had and t he tabular abstractions that were exposed.So at this point we said, âThere has got to be another way.â What If there was a database that had this graph structure, exactly like the database but had the graph structure, instead of tables, that would be amazing, that would solve all our problems. So we said, âThere has got to be someone else must have had this problem, we didnât google around, we altavisted around the search engine at the time but basically we didnât find anything. At that point we saidâ"the famous words said, âLetâs just build it ourselves. How hard can it be?â It turns out fifteen years, this is back in 2000, fifteen years later it is pretty hard to build a database.So basically thatâs when we decided to build this thing. And we built it for a couple of years but only as an internal tool. Put it in production and in 2003, then backing that enterprise content management system. We always thought of it as something that is very generic. We did not op timize for this particular use case or anything like that and we really initially hadâ" already from the start we had very high inspirations and felt that this was something that we wanted to unleash upon the world because it just seemed unlikely that we would be the only people with this problem. At a macro perspective, if you take a step back are we moving to a more disconnected world or a more connected world? That is kind of a naïve question how obvious it is, right? Well but if thatâs true, thatâs going to get me consequences in all parts of the stack right and ultimately everything we do with technology ends up in a freaking database. Everything we do â" every software that we touch, this mobile phone, everything we touch multiple times per hour, all of that ultimately leads to a consequence in some database somewhere.And if the world is becoming increasingly connected and there is value in representing those connections, then thatâs going to exert a lot of pressure o n the existing infrastructure and we just didnât see that over time, we would become less relevant, on the contrary, we felt like we were serving on the right side of history.But in the early 2000s there was absolutely zero market acceptances for taking a new type of database to the market. So I donât know how old you are or if you were around back then but basically in the mid-nineties there was this surge of object oriented programing languages, and on the tail end of that there was also a surge of object oriented databases and the inertia was that we have round objects now, we canât put them in square tables. Instead as the world is going to move to an object oriented paradigm for their programing languages we are going also to store those objects in object oriented databases. Makes sense, except it didnât work at all. And there were a number of reasons why and the key contributing factor was one keynote by Larry Ellison at Oracle OpenWorld where he basically wiped out an entire industry with one keynote, Larry Ellison style.The industry kind of tried out this object oriented database thing, failed miserably and so the discourse in the early 2000s was something like the relational database will always be the only database model. It has now proven itself, itâs like people thought of it as a mathematical axiom. We can build things on top of the relational database but it will always be that fundamental thing. And that was the discourse in the industry in the early 2000s. We thought, we have this amazing graph database and it gives us all kind of benefits, and again we thought that we were on the right side of history, like macro trends should be in our favor but we said, that there is no acceptance in the market to take this out there. And that changed in 06â and 07â.So what happened in 06â and 07â was that Amazon published a research paper, an academic paper called Dynamo DB, where they said, âWe are Amazon, we tried a bunch of different things but we were unable to solve our problems without having to invent our own database, Invent own databaseâ, right? And if your goal is to be an e-commerce site or sell books or sell computer resources, whatever it is that Amazon wants to do, like you donât want to build your own database. You want to use some other database off the shelves so you can invest your energy elsewhere. But the very, very, very smart people at Amazon had concluded that there was nothing off the shelf that worked for them and then they wrote a paper on how they did that. And then a little bit later Google announced basically the same thing, they wrote an academic paper called Big Table where they say âHey, we are Google, we have some amount of expertise managing data and we have also tried the relational database and itâs also failed for us, so we also had to invent our own, new type of database and we called it âBig Tableâ.âAnd so this caused a lot of stir in the development community a nd all of the sudden people started realizing that, âWell actually maybe the relational database isnât the only thing that is going to be out thereâ. And then of course for a while, as with everything there is a pendulum, so people then started thinking that the relational database is going to die and go completely away but of course it is never true and now I think we are sort of a little bit of a fairly informed state where I think people generally acknowledge the fact that the era of one size fits all database is over. We are no longer just going to take all our data and shove it into a single system, in the past that has been the relational database. But on the flipside, what we are going to do as data architects is, we are going to look at our big data set because all data sets will be big and we are going to look at this part over here in my data is tabular in shape, so letâs put that in a relational database. This part over here is what I call tall skinny tables, so j ust key value bars, like this, letâs put that in a key value store and this part over here is big and messy and connected and chaotic and dynamic, awesome, letâs put this in a graph database. So we saw that and spun out the company in 2007, took all the IP on the database side and put that into this new company, bootstrapped for a couple of years and then raised a small seed round in 09â, focused on community and product, we were open source. And then in 2011, we raised our A round and moved over here and started focusing on building an organization, actually commercial customers and thatâs what we have been doing ever since.Martin: Cool. Letâs talk about the technology, so imagine I am a company and I believe in the big data paradigm, I have built all my data pipeline and then I would, for a specific use case only, for example use Neo4j and I would only take a subset of a data which I think applies for the use case. Is your database scalable over nodes?Emil: Yes, so it sc ales out horizontally. We donât use the word nodes because nodes mean something else for us. In the graph they are called nodes, the data elements, right? Itâsa little bit of terminology confusion. But it scales out across machines, so you can scale horizontally on commodity hardware. It runs on top of the JVM so it really can run wherever the JVM runs which is most places. It also scales up very well. So one of the interesting aspects about a graph database is that you typically donât want to split up the graph across multiple machines, you can but it is really hard and it sometimes leads to problems where, in order to satisfy one query you are going to need to pop across the network. Thatâs typically not very fast. So it is awesome if you can fit the entire graph into one machine. You donât have to but if you can, thatâs good. And so weâve worked also in addition to working a lot on scale out, we worked a lot on scale up, so that made sure that if there is a lot of m emory in a machine that we honor that and we use that very efficiently.Martin: And the Neo4j is only the graph database or are you also offering tools for pattern analyzers, data visualizations, etc.?Emil: We do a little bit of tooling. But say 95 percent of our bandwidth goes into building the core database engine. Just because we are a small team and it is quite a big effort building a database but there is some amount of tooling offered by us and a lot of tooling offered by the ecosystem. Today we are the most popular graph database by a wide margin. Actually if you look at some objective measures, we are probably twice as big as all the other graph databases combined and not necessarily because we are so much smarter or so much better than anyone else but we just got started earlier and that does lead to number of really interesting benefits, in particular we run ecosystem. So since we have the largest user base of graph database users. It just makes more sense for any tooling p rovider to ride in our ecosystem. Thatâs a nice benefit of being the leader in a category and so we rely a lot on external tooling providers to provide the stuff around the database.Martin: Cool. What things are you doing in order to foster this kind of ecosystem?Emil: A couple of things. First off, we are open source and I think thatâs really the key thing. We have a community edition which is available for free. You can use it, wherever you use MySQL for free, you can use Neo4j Community for free, itâs the same license as GPL. So thatâs the key one, then of course we do a lot of things to try to grow the community and engage the community. Last year we ran, this is kind of crazy, we ran 500 Neo4j events last year, 500.Martin: Only in US orâ"?Emil: Worldwide. So if you go online on http://neo4j.com/events/ today, when you watch this, you are going to see 2 â" 3 events somewhere, probably. And I kind of lied there because I said we run them and thatâs not strictly true b ecause the vast majority of those is just volunteers; people who love the technology so much and are so fascinated by it, that they started meet up group in Kuala Lumpur or in Onaka or whatever. They just talk about use cases, they talk about customers, they talk about new features, etc. And so our role in those is typically, we write a check for the pizza or something like this. But we also have big events, so next week we have Graph Connect which is our annual big conference that we run twice per year, thatâs how annual it is. In the fall we run it here in San Francisco and in spring in London. We are expecting about a 1000 people next Wednesday and Thursday, here in San Francisco. So it really ranges from the 10, 15, 20 people spontaneously, informally organized pizza and beer, all the way up to a big professional event. Those are some of the things that we are doing to foster and grow and engage the community.Martin: Emil, you said that you are open source basically. How do yo u make money?Emil: Weâre open source, we also have the Community edition which is available for free of the website. We also have an Enterprise edition which has a number of features that if you are a big company, you donât need them but you really want them. Things like the clustering that we discussed before which if you are Walmart, who is a customer of ours or UPS is a customer of ours and you have a graph database, running in production, you donât want that running on just a single machine. You want that replicated and clustered across a number of machines so that if one goes down, the cluster will still be up and running. There is a large financial institution which use us for onboarding of traders â" the use case I mentioned earlier. And if we down in minutes, the entire bank stands still. It handles 50 million requests per day. If thatâs down for a minute thatâsmillions and millions of dollars. Also that just cannot happen. So obviously, then you want clustering a nd thatâs available in the Enterprise edition. So thatâs how we make money. We sell it in the normal fashion these days which is a subscription based model so you pay every year for your right to use the software. So thatâs how I am able to buy water at Starbucks and things alike.Martin: And how do you acquire those customers? Is it mainly due to the community aspect or is it that you are having a direct sales force or maybe even a partner network?Emil: Yes, thatâs a great question. The actual acquisition Iâd say 95+ percent is organic, inbound through the community work that we are doing. So itâs someone out there who picks up the software, plays around with it, typically during weekends and evenings, likes it, realizes that, âHey, I actually had a problem, like last year that this could have solvedâ and the following year thy run into the similar problems like, âMaybe Iâll try this graph database thingâ. Then they try it out, start playing around with it; rea lize it does solve the problem. At that point if they work in a big company, typically they call us and the moment they call us we have a direct sales force. We are very much a traditional enterprise software company in the sense that we have actual people answering the phones. But we do vast majority via phone so itâs not go out and visit with customers, thatâs the primary one. But we do million dollar deals, in all recurring revenue million dollar deals with global 200 companies working with the CIOs and itâs a very big strategic bet for them. And at that point of course we go out there and we shake hands. So thatâs how that model works.Martin: In the beginning of the interview you said, âHow hard can it be to build up a databaseâ, right? If you look back, why was it so hard?Emil: Wow, thatâs a great question. I think there are two aspects to that question. Sure there are multiple nuances but I will focus on two aspects.First off, it is technically very difficult to do a database and we have very high aspirations. There is a number of those no-sequel databases out there like for example, they said that the relational database is good with some things but they threw away a lot of other things. One of the things they threw away that we disagree with is transactions. Transactions means that if you run a number operations, if you write to the database and then you say âcommitâ, than once the database says, âyup, thatâs committedâ, the database will guarantee that your data will be there forever. And we think for a database thatâs not a negotiable feature. That has to be there. And actually a lot of people, strangely enough from your perspective, disagree with that and itâs very popular today to talk about eventual consistency and things like that.We actually agree with eventual consistency but we want to do that layer on top of a transactional core. My point is that writing this software is really, really hard; really, really hard. I mean it is the kind of thing, where it is like nine women wonât give birth to baby in one month. It requires calendar time. It requires you to be out in the wild, with customers, in production for a long time in order to really get the kinks out of that system.Just as an example, early on we had situations that, it is like back in 03â and 04â, so a long time ago, where if someone was writing a transaction to the database and the database crashed, so one thing that we do, unlike some other databases today is that we will always roll back to safe state so you will either see; not see that transaction at all or you will see the full transaction. You will never see half written data. In order to do that you basically use whatâs called a transaction log. And without geeking out too much in this, although Iâd love to do that. Itâs suffice to say that basically whatâs called a transaction log will write your data. Now so what ends up happeningâ" or what happened to us in 03â and 04â was that if the database crashed while you wrote this data that was fine. When you booted it up after the machine booted up when you started the database it will just recover, bring it back to stable state. Except there is a little bit of a process, called a recovery process where it reads the logs, tries to figure out what is that stable state. What happens if you crash during that time? Then you will need to be able to recover from that.Martin: Itâs an infinite loop.Emil: Exactly. And those are just one tiny little examples of the loopholes that once are up and running with tens of thousands of customers in production, you are going to run into all of these kind of eventualities and itâs going to be on the combinatorial explosion of different versions of the Java virtual machines combined with different versions of the 10, 20, 30 OSâs out there, of the different versions of disk controllers and thatâs a very large combination of things that you need to guarant ee that it works because thatâs what we ultimately sell to our customers. It is piece of mind, trustability of the data and so it must never fail. And writing that kind of software, it just takes a lot of time. So thatâs one aspect.The second aspect that I actually alluded to before which is that there was just no market acceptance for a new type of database. And what we have done is one of the hardest things in technology that weâve created a new category. This equivalent to what, for example, VM Ware did back in the late nineties. No one knew what virtualization was. It actually had been invented earlier in the mainframe era but basically they took the concept and created a market around virtualization. And Palm Pilot did that when they launched, if you remember Palm Pilot.Martin: Doesnât ring a bell.Emil: Well, that dates you actually. So they launched this thing that was this âpersonal digital assistantâ PDA, right? It was that phones end up killing them. But they cr eated this new category. And we have been able to do that with graph databases. Graph databases is a term that we put together with some academic articles from the 80âs but that looked nothing like the modern graph database. So we just took the word graph and database and put it together and started defining it, giving it meaning and popularizing it. And now it isâ"Forester researchers which is one of the big analysts firm says that 25 percent of enterprise will be running on graph databases in 2017. Garker says that 75 to 80 percent of the leading organizations are going to be piloting and proof of concepting graph databases by 2018. The entire Global 2000, the entire Fortune 500 will be using graph databases in production by the end of this decade. Thatâs a very much zero to one kind of Peter Thiels terminology; so going from absolutely zero putting those two words together into where we are heading, we are nowhere near done yet but where we are heading is very, very hard and it takes a lot of work.Martin: When I look at entrepreneurs I always think, ok one thing they need is vision and they need to be naïve. And this is a good example because if you have expected how hard it would be you would never have started.Emil: For sure. That is very, very true and if someone had told me in 2000 that 15 years later you still going to be working on this piece of software, I would be like, âDude, thatâs never going to happen.âMartin: Six months maximum.Emil: Exactly! Thatâs very true. If we had known how difficult it is to pull off and all the things that could have killed us and should have killed us we never would have even started.Martin: Good.ADVICE TO ENTREPRENEURS FROM EMIL EIFREMMartin: Emil, what start-up advice could you give to first time entrepreneurs so they can make less errors that they could avoid?Emil: So first off start-up advice, I think start-up is really hard and really dangerous because I think so much is contextualized and I actually think that some of those brilliant things in life but letâs focus on building companies, some the most brilliant things in building companies comes from people who go completely 180 degrees from common wisdom. And so I try to refrain from giving generic start up advice. Having said that, I think the thing that have helped me is the obvious thing is, the obvious thing which everyone say which is passion for what you do. Iâve been doing this for 15 years, sure the company for 7 â" 8 years but worked on the technology for 15 years and every freaking year Iâve had more fun than previous year. When we were two guys and hadnât had salary for a year and we are just so completely dirt poor I still had so much fun. And then when we grew the team to like 6 people, I was like, âOh wow, we actually have a team now!â Itâs just amazing. And then we gain 15 and 20 and itâs like, âWe need some kind of management or something hereâ, all the way up to now, I guess we are 110, 12 0 people and we are across 12-14 countries. I am still having as much fun as Iâve ever had in my entire life. So I think that has to be there, just because itâs just so hard that if you are not crazily passionate about what you do, you just donât have the persistence to do it. So that would be the first and obvious one.And then there are the tactics, stay close to your customers. If you arenât the customer yourself and some of the best technologies I think in the word have been written for the people are themselves a customer, then really, really have empathy for the customers, stay close to the customer.Both are truisms, both are things that everyone is saying. They have helped me a lot.Martin: Emil, thank you so much for your time!Emil: Pleasure! Dankeschön!Martin: And next time when you are thinking about starting a company you have to be passionate. But you need to think about ideas that are contrary to what that mainstream is thinking about but you have to be right. An d then you are starting a successful company.Emil: Contrarian and right.Martin: Right. But contrarian false is not such a good choice. OK, thank you so much. Great!Emil: Awesome!
Subscribe to:
Posts (Atom)