I am the pol III buddy and I am platform architect for stables. Step is calm and this session. As part of this session, I am going to share my learnings my experience. What we did at sleepers and the general application of new circle technologies for our scalable ecommerce platform. So if you are here from last two days, you heard a lot about all these different vendors and companies who actually write either write the products, no sequel, databases or they provide the services right.
But this session is from the different angle: it’s from our user. If you are part of a like, if you are developer Architect manager executive at any IT company – and you are looking at no support hearing a lot about it, how do you start? I mean you have scalability issue you? You are not that happy with other things, but how do you really start and make a change in your organization, so this is more from the user point of view, and how do you apply? How do you change your mindset when you start working about working with? No mobile technologies or big data and specifically about the scenarios where it can be helpful.
I mean it comes all each and every problem that is there in IT, but it can be applied to specific areas and it is, it is really helpful there. So I am going to share that a few years back when I started to hear a lot about Big Data in no sequel, MongoDB, Cassandra, everything I always thought that it’s more for search engines and social networks and is good for like that. I think I was working with Pearson and learning an education domain.
I thought the HUDs great yeah very good, like for PhD students and for such search engines and social network, but, as I was introduced more and I started using it like in one day like we literally decided to go with it after using it. For a few years, I realized that it can solve problems in every any domain. Actually, so I I personally use it in Aulani contacts and educational websites, identity and authorization and any go for sure.
So, and this way I thought I should share how how share with everyone that this can help us all problem in many other areas and just to give some background on steeples, I mean how many of you know staples. I hope you know how many of you buy some staples or check out on staples and go online and buy it so for staples forget about retail. Just looking at tip is calm. It’s the second largest website in terms of revenue.
So, of course, scalability is the biggest challenge or one of the key, a stability and scalability, especially when the holiday season will come cyber monday Thanksgiving I mean that is, that is the focus, a scalability and stability. So I just start with some of the context around ecommerce and if you buy online I mean you know what he converses. So I think it’s not anything domain but just from the data modeling point of view, I always think of e-commerce as three key entity, and you can disagree with me, but I mean I always see it revolving around user product and order.
So for user. Why user is important because they are going to pay for if they are going to buy it? You are going to get money from that and you run a lot of angle. It takes a lot of logic off of user and what they buy. So we divide the user in all these different segmentation. Oh this is the user. This is a set of user oppai electronics, this these are the user, will generally go for all the printer related stuff and we target the different promotions and couponing and ads.
So, that’s why this user – and there is lot of things I mean I just try to get through the main entities, but there are lot of other entities that goes with the user through that again for the use. As I said, we do lot of things with user and I I mean there are many users or the client of the website. I mean we need scalability for this part of the system. Now I go to the products the product is all those skewers cue said that we sell in e-commerce website and it is part of category and catalog.
Ideally I’d any product should not be the need that much of scalability, because there is a fixed set of SKU or SKU, said that you are Celine. But with this whole change with marketplace a concept, we are allowing all this other vendors to come to our website and sell this job, and that’s why there are huge number of skew excuses on website and that’s why, even through our cases, it is an entity that Needs scalability for e-commerce.
If I go to the third one is order and you can tie it to the shopping cart, because we do not think the shopping. Cart, shopping, cart as well, but the order has is still is the final final key. When you get the money – and you do the checkout and it has all the integrations with the banking system – will pull through min system and inventory check and grism online in pickups. All other things are tied to the program order, so that that is the last push that needed to finish.
The transaction and order is the place where you really need the transactions or will visit are in in detail how it works out with no sequence. So this is the very basic data model for e-commerce, if okay, so if you in some of the slides, I’m not just trying to capture the key aspect of the no sequel adoption like if you are coming from simple background, many of us – I am, I am From I’m coming from signal background, I studied normalization to that during my engineering and then used it for five seven years, and I thought I must export it like doing the normalization I mean I can work with business and oils for fewers and have a perfect data Model using normalization and one day might turn upside down and there is no normalization.
I don’t think from other way entirely. So in this way, I think when you are as user as an architect as a developer, it’s going to add up no sequel from coming from simple background. This is the key you have to just forget about having this normalization and start thinking or like you have to try to merge all your data and try to see like very few number of tables or very few number of core entities so just take the example Of user right, if you do not normalization like relational database, you will create one table user input.
First name last name other attributes there. When you come to address, you will Co address user can have multiple address, so I should put it in a separate table and have some references here for user segment. Again, it’s a separate table. No! No! No! It should not be your. The data replication so will put it in separate table and whenever we want to get the information across entities will try to do joins and then get the data.
That is the usual way right now forget about it, go to the new sequel and you have to start with this flat entity. So you should. You have user. Your first name last name address when you go to address, addresses the nest identity of the user entity. So you don’t create a separate structure for that separate document for that, but you embed that and you call it nested entity here and put it third.
The same way, all the segmentation user so 500 days thought everything you try to put it here. I mean, I should not say everything. Otherwise you will have just one document in Florida, inheritable or entire schema. That’s not the way and we’ll go to the next one. There so when we started doing it, we argued a lot it should we really put user as the nest identity of segments or we should we put segment as the nest identity of user and night refer.
I try to find some guidelines there. How do we decide part case right? I mean I can tell it an architect, oh for this scenario, if this makes sense, but why and how do you repeat that effort for development, so I think many others are also calling. The same thing is: question: oriented scheme are design right. You work with your analyst. You work with. This is people you find all the action that end user will take on your website and then you try to identify inputs and outputs.
So, ideally, you are trying to identify the queries that will run on your system. The key here is that all the parameters of the query should be part of one document or one table or whatever. You call in no simple terms right if you are doing column column oriented. It should be part of that one structure, whether how to divide how to decide mr. Dent so just two examples, and maybe that can give you some answer.
So if you are trying to figure out most of the time, you are trying to figure out what other products viewed the most in last week, then you start with the product and the viewed by users are are nested entity as viewed by so that you can. You can run the query efficiently or if you are interested in what are all the products viewed by the particular user in last week, you are trying to target the user.
Then you, you can start with the user input view product, as the view now column there. So but but the key you can you can do mistakes here I mean as that’s fine, but the part that is important is that all the all the input and output parameter of the query should be part of the one structure, and that is the that is The key so so sometime as a user like as user of technology, you really care too much like how Java does the GP JVM how they put the variables in heap and all that say, like you really sometimes don’t really care.
How does all this databases put share the data in this different partitions and, like you know, limited, you want to know limited amount of knowledge so that you can do your work right. You don’t want to know every each and everything about that technology that you are trying to use, but there are few things you would really have to understand about know, sequel before you start using it I mean you don’t have to you know each and everything, but There are two or three key concepts and you design your system using no sequel and eventual consistency is one of them.
I mean if you are attending all the session. I mean you must be exploited, eventual consistency, but we we have used relational database for so long that we take this essayed properties or transaction management is like this word right. We think. Oh, it’s always there, but it’s not always there when you start with no sequel. So you have to understand what you for no sequel technology technology that you choose.
You have to understand whether it have eventual consistency like weak consistency or strong, consistent like how does it work out and you design your accordingly. Just to give you a very very basic example of eventual consistency, what it is – and this is a little bit of non Commerce example – that if you have an account in bank with $ 100 and you open two browser and fire the event at the same time, It try to deduct $ 60.
If the bank website is using relational database, it can throw error for one of the transaction, because it’s real-time consistency, yeah, immediate consistency. You can get error in one of your session that you don’t have enough amount and things like that. But on the other side, if you go to ATM right, if you, if you some way, you try to detect the $ 60 or $ 70 from two different ATM at the huddle, you can get the money, but eventually you will get some message alert and your Account will have minus balance because ATM is is a different transaction context, so it can’t hurry early, have global transaction across website and ATM.
So I mean in at the head after some time after delay or few millisecond or second it will. It will match up, but it won’t be the real-time consistency in e-commerce, where it’s important, like inventory, check right. If there is only last printer left – and there are two user who are trying to buy the same print or one of one of the user should get an error, but it might not happen it that way, interval time if you are using those equal.
So you had you design your system that way so that you don’t really deduct your money before. You know that there is a. There is a printer result and I can discuss that part in detail available at the last, but I think we stuck a little bit when we try to design some of this. This type of scenario that really need transaction management using no support. Okay. So again I said: sometimes you really don’t want to know where your data is stored right, but one key concept that you should know about.
No sequel, is that or you don’t all of your data or all of your tables are not in one once upward. It is actually divided its partition and discharged, and it is on this different physical server. It makes the life of your IT department, like infrastructure, very easy, because you don’t need one beefy server right I mean you can have like few communities our world and you are you’re good to go. So, if it’s good in that way, but just on the old it just on the logic logic side, you have to understand that your data is divided here and that’s why.
That is the reason why you can’t lose the join in business right, because if the part of your table or part of your documents are divided everywhere, so ideally, you can’t really do the joint very effectively. Mostly, you are putting an application layer, but you still have admin and others who are dealing with this configuration and this logic. So that is one more key aspect, often so, just just really click on design guidelines.
You have to think about aggregation industry entities over join. You whenever you say your data is not normalized. You have to be okay with some kind of data application, because normalization is good at that it will avoid the data duplication. But when you are saying that it’s denormalized there can be some data duplication in your system. You don’t understand eventual consistency. Actually you have to constant the cap theorem, you have to understand.
You can’t get everything you will either get any two out of consistency, availability and partition, tolerance. So most of the knows, equal our technologies, like consistency, go and focus on our ability in partition tolerance. So, whatever technology that you choose, you should understand. What is the trade-off that you are making out of this three and then charting in linear scaling I mean charting.
Is the is the mechanism, but what you get is linear scaling, which is, which is the key benefit? If I will go up, how do you really build the ecommerce data model right? You decided, you want to start in the noisy coil and you did some presentation and VP or director. Everyone is who yeah? Let’s, let’s do it? How do you really start doing it, and I think there are many other steps in between that, but I think if I mean this is a little bit from the whole mindset.
But still, if you follow this, you will get the initial data model for your non-sequel system. So, first of all, you have to identify the operations the operation third end user will perform on your website. You identify all the entities that is referred by that operation and then you identify the attributes of the entity in context of the sub operation. And then you identify the relationship between these entities and then you repeat this for all scenarios and combine everything at the end.
So the so the example here very very basic operations for e-commerce, fine product by category or add product to the card so find a product by category. It will refer to protocol category or add product in the cart, villopoto, shopping, cart, and what that should is that is theater so for product is name, was chew: items in stock, price category, etc. Four categories, ID name or less product – god say here now: what is the key? As I told you, you have to think about all the parameters needed for each operation and we should be part of the same structure, so you say fine product by category.
So you need also, although in putting up all the attributes of the product and category in context of that operation, part of the same document and that’s how you can match your data model, whether it will work at the end or not. So you can see here for a product will excuse me price size, whatever, whatever is the key indicator product, but it has categories birth so that you can actually run the query and find product from the category or you can the categories of that product and the Card so I’d put up to the cards.
The card will have all these hardened tributes here, but at the same time it will a product that is added to the card. What is a total of it? What is the user that is owning the card things I done now same here for the user, you have all the, but at the same time you have segments or products that you bought card 30. Have things like that and in again I told you right. We would you had a match, we would look at each operation or each query and see whether you can find all the answer of that query from any one of your documents, and this is more documented or yes to pick a table.
So so, if you we are running lot more and heretics and not more query on quite got just the card. So every time, if we go through the user it will, it will add some delay to that. So and then here for the card, we will not help everything. It will have only subset of the attributes that that’s needed for for here, but this card will have in this way. I said when you do not do the decarburization. That will be some amount of application.
You can decide. I mean it’s always a trade of you. If you don’t want that duplication, you had to be okay with running the query in certain ways. Okay, I go to the next one. Okay, I mean, if you use no any of the knows it. While you I mean this is no brainer for you, but I still wanted to give you some real queries or example how how it can apply to the e-commerce domain so, for example, find product by SKU.
That is still oh yeah. That is correct. So I’ll say that is like dpi catalogs are fine, and so I mean I’m just trying to show how how how different or how similar it is to SQL update the card. So it will have some kind of push addition or a pending kind of thing to the card and will increment the subtotal and things or that find the user by zip code. This is interesting and okay. This is a whole new topic of using Hadoop, but I will will visit dot, but how can you I mean there are there? Are there are few operation? There are information that is data, data intensive and time intensive and that doesn’t really work out.
Well, for your time, queries, but if you want to see some of the trend long-term, we really need analytics and we need some some other against them. So this is the example for that MapReduce. If you want to aggregate all total orders by zip code, you want to see how effective our website or campaign or our couponing in this one particular region you are, you can do map and then reduce and then try to run that and others and find like Number of orders by zip code.
Actually, if you want to do this for the last two years, you really need may produce, but if you want to do it for shorter time period like one month or less than that, you can still do it with this kind of it doesn’t take that long. So again, because I showed you a lot about MongoDB just to give another another variation of data modeling for e-commerce using Cassandra – and I mean Cassandra itself a big topic.
I can’t explain you column and column, family and super column. It’s super column family here, but I always think of Cassandra is a recursion of table right. If you, if you, if you have one table and you just take out one column and put another table there, I mean that. That’s how I always think of Cassandra. Our data model – and so here I try to capture the user as a part of a supercar family, so each user consists will make one row.
So one group, a show is consists of one user, so that is the key user one. The the value will have a winner column, family and in the current family, the first column is products bought and that we have two product, then ten cards that will have products and total both again. The second row is: is user 2 and user 2 is a key and I’ll give the column family there. So that is how you can do it, and then you have to figure out the whole new takes for your queries and things.
I thought make head appeals to me the same okay, so next I’ll go to analytics, but what I want to say for just on the nose equal part is that as part of this presentation, I am NOT trying to take a stab at best, no circle technology. For e-commerce, I mean, I don’t think you and I have expertise or even there is a finite answer in industry for the best non-secular technology for any opening person.
I mean here you have to look at your use cases I mean. I don’t think there is any e-commerce platform can decide. One day I want to rewrite whole system whole site in Nasik own. You really can’t do it. You have to think incrementally. So you take subsystem of your website, you take one component, try to use no sequel and put it out. There see how it goes and then so. Migration is a whole new topic and you learn from your bond one implementation and apply it everywhere, and it’s I mean we are.
We are going that idea and I don’t know how everyone feels about it, that maybe we can use different, no sequel technology for different subsystem of our our website. We were to see how that goes, and but it’s hard to find one to a sequel technology that works for every scenarios for such huge website. So that is just just to share some of the thoughts that is going on how person I don’t have that many slides.
So if you a question you can ask me sure every said I have three different ways of looking at the day, and so I have this product. The red paper was $ 25, and but you now have a price increase in $ 26. So does happen such that, if I happen to have gotten in at $ 24, in my shopping, cart was at $ 24, even though somebody else who may have come in because of the fact it’s not permit consistent across they’ve come up with $ 26.
Yes, it so when you don’t have consistency like immediate consistent with this, this can be one of the scenario, and what we argued at the hot time is that we I mean for for staples.Com and many other website. They don’t really change price in the middle of the day. They do it like one batch at the night, so anyways we are not doing it real time, so it doesn’t matter that we can invalidate all the web session at that time.
Whenever we’ll change the price – or we can do some logic there, like one doing that one pending is easier than doing it like for every second right. So then, then we thought we are just arguing or we are worried about the wrong problem, and that was a confusion because generally there are not many side who will change the price middle of today. Okay also, I have another pricey right price graph right here and is from a data management point of view.
How do you know those are all priced relationship? It’s all the same thing, and so even one system that are different. Some prices yeah. I don’t know in your system, you have basically three different documents and they’re all high price in it, but you know those all mean the same thing. Those all need price. Okay. How do you know that those are all same price? How they’re all home for us? Yes, so actually for most of the ecommerce website, volts is fair in our website, also one.
This way that we have a different system subsystem that we call PD be like Product data management and we store all the pricing in chemistry entire. So most of the price that will copy is the done product orders that will save the price for, but ideally, if you won’t have, the real price are fitting into over no sequel store. So PDP is entirely separate subsystems that trans entirely in different different different of what do you call it runs out of the website and it just has the integrations every night.
It will push the data after that, the data is read only so in our website. Better way to are seeing prices, read-only is most of the time it’s all done. You know either either a user already bought that product that paper or that prayer price, and this way that price doesn’t matter, or that is the price for that day and and the night will be pushed ugly. What else about to be morning? Sorry you this! What you know it? No, it’s one of those things for say I could work on the price hike right, you’re, going to go work on the different on the order document and he’s going to work on the third dot for whatever it was.
If we’re not talking, how do I know, how do you know to call it price when I call the price and he knows to call it rice, how do you keep track of that, so every night the data will be pushing all end up going, even when You defined it, how do you know that you should call it price, maybe say wrong? No, no any! That’s why we have to decide on this first, some basic structure of the of the document.
Otherwise, all these different people will refer to this prices differently and then they can’t do it yeah yeah. Definitely we have to you have to come up with and this way I know. Theoretically, we can change the structure in any 10p bond and all that, but it doesn’t work out that well with real scenarios, because you have your own oil it’s running on today. Suddenly I decide. Oh, this is not price.
This is myself price. It won’t work for analytics right because it’s running off of that or some other tools that is running off of that so yeah. Theoretically, yes, I can still change my document structure and do my website will still work, but it will mess up something and there’s that and that’s why I’m putting a lot of emphasis on this data modeling. Ideally, if you really go to any no sequel tutorial anything, they won’t talk about schema.
They don’t talk that much about a camera because it’s flexible, you can changes each rod, but it doesn’t work because I agree with you totally. Okay, do you have anything which kind of you kind of do something else or something? Yes: did you keep track of prices always called price yeah? So what so? This is our take that for e-commerce, 80 % of transaction is read, only the user will just go browse, browse browse and then they’ll buy.
So what we are trying to do is that we are trying to use use, no sequel where think about reusing your sequel. In those read-only scenarios, instead of writing dances and items – and this way wherever we are writing the price – that system is still thick ball and then we are pushing this here and then everything is knows the goal. But it’s all read, you know, so we we don’t have to worry that much about consistency, oh yeah, and and that’s the that’s the thing I said right I mean some of we are maybe at the end I shall say what is what is.
Actually, we are doing what I got is a plan to do and what is actually done. We can’t really take our whole website. I mean, if it’s not possible, to take the whole website and Ono’s right. We are just trying to look at new sub system that we are writing, for example, reserve online and pick up in store okay, so we are trying to look at the heart and trying to see how we can use musical in that scenario, so it’s very small Subset of saying, but we are, we are trying to think about like this big bank, just to get an idea how it works out.
How can we do the doubling? How does it look like and what are the ideas that can he was the pain point so that it should have you had any concern over how long that takes and we need to drink the system so to date, words that that way, and it works really Really bad so every every night something will drawn and it will load the data, but it will be enable exactly at midnight or some some point of time.
So it will. It will be loaded first, but it will be like enable for everything like it. One particular like 3:00 a.M. A.M. In the morning, so that I mean we are not really worried about the loading part like how long would it take and things that are not worried about that part. There are few things that is, that is tricky there, but overall, no, I I don’t think it’s that big open, because we are doing it.
One yeah. This is not heavy for, say so and maybe we’ll go to the next one. So we are looking at the no signal technologies for a few, a few specific areas, whatever the new areas that we are and more on analytic side and more on. I don’t know how much you know worse tapers, but we are using IBM commerce as our old engine so but we are trying to come up with all this new subsystem on cloud and open source and using no sequel.
So that is the new initiative, and we are thinking about all this, for that is it no? No! No. These are not your actual documents for carp management – oh, no, no, no just example, visitors or so, or lots of stuff to understand what arm is coming from this pointer inducer. It has to be mapped. This ie has to be tracked with that system. How do you do it very true and that’s the problem going with the sub system right, if you just decide to do no sequel just for one subsystem.
All your other relational system need that foreign key, that you are stuck with and that’s why you had to have that foreign key and you have to have something which will make your foreign key with this, this this user idea, whatever you are talking about, and then That’s one of the biggest challenges we are saying with this subsystem design and with this migration and things of that, and this way we are trying to trying to go with the systems of force that doesn’t really deal with this core entities.
But it will have some like. I give you the example. Writer is online and pick up in store, or something like that, which is which is really a top player on the core web site. Today, you have some kind of a mapping table which maps with the automation – no no, not today, not today. This is this is this is the this is the plan. This is not being production, but we have done very similar at Pearson. I had a very similar person in bed fever.
We are trying to just take the user, just the authentication, part and method is it MongoDB and everything else was in relational, but that was true. So also we never had foreign key. It was like it was vertically partitioned, so only there was a separate user or schema and web services that we could replace for easily and user was interacting with all other entities via web service, and that’s why it was easy to purely think that subsystem entry right.
It using a simple so if we have the repetition like that, it’s it’s easier to just take one part: entry title: you have a user’s an entity and over there is a product spot. That’s one-to-many relationship. So is that product spot only for that particular session, or it is next to the history also, so you had to decide if you, if you, if you I mean actually on our website, one one user had known by that many different product, they buy the same Product in repetitive quantity like paper, so they will buy the same paper but like every month or like they buy the quantity will better, but not the total number of products they buy.
What is really that different? But if there are like large number of products caught by one single user, we have to decide like how much data we want to store for that immediate system and how much it I have you in the store for analytics and long-term data. So I mean if something like Amazon: they can’t really store all the products. What, by that means, are in your immediate scheme, so you can decide how much data you want to store.
You guys take the day from the mystical story and merge it with like the order data, for example, which is making sword in a sequel store and send it to do for large-scale attitude. I can do one thing whenever we will start this migration order either it will never be turned into new circle, or it will be the last thing to turn into noticeable. You know so that’s for sure for now that it order is something that anyways it’s a subset of.
We are using sterling for that. So it’s more like a SAS miss Brenda product for us. So we are not looking at that, but we know all the transactions and complexity around consistency will come into picture when we go to the order and that’s the we are not worried more about the checkout and everything because it’s all like all we just punching to Bank of America and get something out, so we are not worried about that part, but we are more worried about the inventory and few other things are very nice, actually, some more for downstream towards adieu.
If you’re joining the order, data from your sequel store with the stuff in your house equals door, and you know sending all that stuff and I for a dude processing. We are not doing it not, but this is the one area we are thinking a lot about. So so here right, so what what is I think I just screaming out of time, but what is more important for e-commerce? On one side, you all your sales data right other side, you have all your couponing and promotions and ads and everything.
How do you correlate that and enemy you want to set you you just don’t want to give over your stuff right. You want to sell it at the price where it user will buy it, but you still make the profit out of it and that’s why all this cross blog enter it exists is the key today for IT. The problem is that there are many across many ways. You can sell data and there are many ways you can: target user retail tablet app mobile app web, then pet store.
There are global other, like staples at 34 prisons in 34 countries. So how do you? How do you really think salons did and how do you see what is the effect in what is not effective, and that’s where we are, we are struggling, I mean, ideally, we can really plug into all this different sick wall and write one centralized sequel database or Have some ETL any DW, but it’s it’s very. It makes it very very brittle, because if retail or if website will change the radar model, all the CTL and everything has to change.
Everything is report once and it’s not scalable I mean we get the data all like 10 days back, but what if we want to use the data from Black Friday on Cyber Monday right, I mean we really need new, real-time data and that’s why we are thinking About using Hadoop and if all the system can send that tax output or logs server logs as have try and we can fit into the Hadoop cluster and from run some MapReduce or high, because we still want to store our data on long term in Sequoia.
If you really want to or something laid out, we can still read this text file and have some dashboards. There are two ports and everything out of it, some conclusion out of it, and I think that implementing this will be easier than changing the core website. Internals and this will have immediate success or immediate term benefits. In terms of that, I don’t know how I mean. In the end, I I mean I want the feedback on all these things, because we are going to build up and we are thinking very seriously about that for sure.
Okay, I said I’m not going to compare all this notes about technologies, but just just very, very a basic overview of challenging advantages and disadvantage of Sakhalin no support. I think acid properties and this transaction management is the key we are so used to it and there are many advantages with it, so that is definitely the plus on simple side, but on the other disadvantage is I mean how many of you have tried zeroed out? How many of you get this push from your management that we should do zero downtime deployment and all this like DMA changes are always complicated to manage for zero down like you, you, you really want to run this DML queries and then fill the other previous data.
I’ll fix the other data and then that that’s kind of complicated, so it makes it brittle it that is, there is no real linear scalability to support the massive data volume, and now that is I mean it. It struggled with the lightweight analytics and things like that. On the other side, no sequel great – I mean you, don’t have to worry about schema and brittleness, and I mean it works really well for e-commerce, because it’s all read like most of the things are radar until and unless user will decide to buy that it’s already Traitor, so it works really well for that scenarios for normal IT.
I think the expertise and try to adopt this new technology and make the changes is one of the challenges like it’s not the technical challenge, but it’s a challenge for sure and sometimes limited query capabilities, and I think that it. There is a lot of improvement. In last few years, in this area like in I mean earlier, there was not control for non sequel, but I think all these companies are making progress in that one, and migration is the key.
If you have, if you are working on a new product that was working with pure Sunehri, working on team product was and using no sequel was, and it was easier, but having something that is full grown and really change it to adoption. Equality is quite a big igniter again with Hadoop. You don’t have to worry about matching it and backing into different sequel and say that you can directly process the logs and tags and it’s highly scalable again.
The expertise and all other things are. Are the challenges zero? If you have any questions you can ask now, I would love to get your feedback if you think something makes sense, something doesn’t make sense. This is not the direction area we should go or we should go. Please send me an email. This is my personal email, but you can so deepali talk through various APIs. Comm is another one, and thank you.
Thank you. You