1
00:00:00,000 --> 00:00:02,540
Welcome to the Cloud Native in 15 Minutes podcast.

2
00:00:03,200 --> 00:00:05,820
If you haven't listened before, the goal of the podcast is simple,

3
00:00:06,240 --> 00:00:10,060
to explain some complex but increasingly important and even strategic technologies

4
00:00:10,060 --> 00:00:14,320
in about the time it takes for a coffee break or a drive to the office or a walk

5
00:00:14,320 --> 00:00:16,360
or whatever it is you do in 15 to 20 minutes.

6
00:00:16,960 --> 00:00:20,440
We're all busy, but that's not an excuse to not understand, at least at a high level,

7
00:00:20,520 --> 00:00:25,020
some of the fundamental technologies that will be powering your company for the next decade.

8
00:00:25,020 --> 00:00:29,720
So I am Derek Harris from Pivotal, and the topic today is SQL,

9
00:00:30,260 --> 00:00:35,380
specifically new slash distributed slash next-gen SQL,

10
00:00:35,540 --> 00:00:39,180
the type of databases that are focused on scale, simplicity, performance,

11
00:00:39,400 --> 00:00:41,880
and quite often geographic distribution.

12
00:00:42,540 --> 00:00:46,560
Joining me to explain this new class of SQL databases is Peter Mattis,

13
00:00:46,920 --> 00:00:51,900
the co-founder and CTO of Cockroach Labs, the creators of CockroachDB.

14
00:00:51,900 --> 00:00:56,820
And I should first issue a disclaimer where we ran into some audio issues recording

15
00:00:56,820 --> 00:00:59,180
and then attempting to re-record this episode.

16
00:00:59,400 --> 00:01:01,200
So please bear with us.

17
00:01:01,240 --> 00:01:02,300
It's not unlistenable.

18
00:01:02,420 --> 00:01:03,460
It's just not ideal.

19
00:01:04,460 --> 00:01:10,000
I posted a cleaned up transcript of this episode at cloudnative.simplecast.com

20
00:01:10,000 --> 00:01:12,960
and will include it in the accompanying blog post as well

21
00:01:12,960 --> 00:01:15,720
if you prefer to take in the content that way.

22
00:01:16,000 --> 00:01:17,240
As for the content itself,

23
00:01:17,720 --> 00:01:20,580
Peter explains why you're hearing so much right now about, you know,

24
00:01:20,580 --> 00:01:23,180
these newer next-gen or distributed SQL databases,

25
00:01:23,600 --> 00:01:25,480
a group that includes CockroachDB,

26
00:01:25,680 --> 00:01:29,020
but also offerings from other startups such as YugoBite

27
00:01:29,020 --> 00:01:31,240
and all three major cloud providers.

28
00:01:31,740 --> 00:01:36,120
He also dives into the connection between these newer SQL databases

29
00:01:36,120 --> 00:01:38,360
and the cloud native world, specifically Kubernetes,

30
00:01:39,000 --> 00:01:42,720
and why large enterprises should feel comfortable trusting open source startups

31
00:01:42,720 --> 00:01:44,120
for their mission-critical applications.

32
00:01:44,460 --> 00:01:48,740
So stick around and listen to Peter Mattis of CockroachDB now.

33
00:01:48,740 --> 00:01:51,420
Okay, so let's get into it.

34
00:01:51,600 --> 00:01:56,880
Peter, can you explain in about 30 seconds what Cockroach Labs and or CockroachDB are

35
00:01:56,880 --> 00:02:00,180
and kind of, you know, just this idea of distributed SQL in general?

36
00:02:01,060 --> 00:02:03,740
Yeah, the idea behind distributed SQL came out

37
00:02:03,740 --> 00:02:06,700
because we noticed there's like kind of a gap in the landscape.

38
00:02:07,660 --> 00:02:10,660
There's these NoSQL databases, which were coming for a company for a company,

39
00:02:10,660 --> 00:02:14,760
and they were promising easy, horizontal scalability.

40
00:02:15,260 --> 00:02:20,300
And yet they tossed out so many, you know, easy-to-use functionality that developers like,

41
00:02:20,360 --> 00:02:21,680
like indexes and transactions.

42
00:02:22,160 --> 00:02:23,480
And on the other side of the spectrum,

43
00:02:23,480 --> 00:02:27,300
there are traditional SQL databases that provide indexes and transactions

44
00:02:27,300 --> 00:02:28,960
and all sorts of other goodness,

45
00:02:28,960 --> 00:02:31,020
but they didn't have that horizontal scalability.

46
00:02:31,440 --> 00:02:34,920
So we wanted to build a system that had the best of both worlds.

47
00:02:35,240 --> 00:02:41,120
Easy, horizontal scalability with all the SQL goodness that makes developer lives nice.

48
00:02:41,580 --> 00:02:46,060
And what's happening today, I guess, like business-wise, technology-wise, et cetera,

49
00:02:46,180 --> 00:02:49,080
that makes, because there's a bunch of, you know,

50
00:02:49,180 --> 00:02:52,220
let's call them new SQL or, you know, variants on SQL, right?

51
00:02:52,220 --> 00:02:56,660
What's happening right now that makes these new variants on SQL databases so valuable?

52
00:02:57,300 --> 00:03:02,260
Well, the thing that's, I would look to not so much as valuable as possible.

53
00:03:02,360 --> 00:03:04,680
Why are these all coming out kind of near the same period of time?

54
00:03:05,200 --> 00:03:09,380
It's like, why didn't, you know, multiple people independently come up with the idea of the atomic bomb

55
00:03:09,380 --> 00:03:12,140
and groups come up with, they kind of come with these breakthroughs?

56
00:03:12,400 --> 00:03:16,740
Well, there's a kind of technological change that occurred over the past 40 years

57
00:03:16,740 --> 00:03:18,240
since databases have been in existence.

58
00:03:18,460 --> 00:03:20,580
And that is, you know, computers have gotten faster.

59
00:03:20,680 --> 00:03:26,060
We all know about Moore's Law, but networks have even outpaced the improvements in processors.

60
00:03:26,460 --> 00:03:30,260
And now it's, you know, I can read data from a remote machine,

61
00:03:30,440 --> 00:03:34,520
especially one that's nearby in a data center, faster than I can read it from disk.

62
00:03:34,980 --> 00:03:35,960
That's pretty incredible.

63
00:03:36,660 --> 00:03:38,960
Not a lot of people realize it outside the industry.

64
00:03:39,560 --> 00:03:40,900
Inside the industry, it's well known.

65
00:03:41,700 --> 00:03:44,600
And then the other big change is that we actually have a much better understanding

66
00:03:44,600 --> 00:03:49,480
of how to do, you know, distributed transactions and distributed consensus.

67
00:03:50,080 --> 00:03:54,480
All this stuff has come out in the past 20 years about Paxos and Raft,

68
00:03:54,560 --> 00:03:56,160
which are distributed consensus protocols.

69
00:03:56,380 --> 00:03:59,620
And then there's distributed transaction protocols that exist on top of that.

70
00:03:59,860 --> 00:04:02,720
So I think there's like a realization by a whole bunch of different people

71
00:04:02,720 --> 00:04:05,820
that you can put these things together and make a distributed SQL system.

72
00:04:06,320 --> 00:04:08,900
And what we're seeing is, you know, various different, you know,

73
00:04:08,940 --> 00:04:12,300
kind of ways to piece together these components into a working system.

74
00:04:13,420 --> 00:04:13,900
All right.

75
00:04:14,140 --> 00:04:16,960
Are there specific application types that benefit from that?

76
00:04:17,040 --> 00:04:20,920
I mean, I'm just curious, like, why I'm interested in using this.

77
00:04:21,280 --> 00:04:21,460
Yeah.

78
00:04:21,600 --> 00:04:25,980
So if you were trying to use like a NoSQL system, like any of the applications

79
00:04:25,980 --> 00:04:29,400
that were being built on top of NoSQL systems, you know,

80
00:04:29,420 --> 00:04:32,120
the systems I'm thinking here, like inside Google would have been Bigtable

81
00:04:32,120 --> 00:04:35,760
and then outside, say, you know, systems like Cassandra and HBase.

82
00:04:36,360 --> 00:04:39,240
You can build those on top of something like CockroachDB as well.

83
00:04:39,860 --> 00:04:42,900
And the workloads those work well for are ones that, you know,

84
00:04:42,920 --> 00:04:44,380
you're doing a mixture of reads and writes.

85
00:04:44,880 --> 00:04:47,860
CockroachDB provides better transaction semantics for those workloads.

86
00:04:48,520 --> 00:04:50,980
So some things that might have been awkward to do in Cassandra

87
00:04:50,980 --> 00:04:53,260
are a little bit more natural to do in CockroachDB

88
00:04:53,260 --> 00:04:55,460
or significantly more natural to do in CockroachDB.

89
00:04:57,140 --> 00:04:59,360
Then one of the things that a distributed SQL,

90
00:04:59,580 --> 00:05:03,300
in particular CockroachDB's distributed SQL unlocks,

91
00:05:03,300 --> 00:05:06,120
is the ability to do multi-region clusters

92
00:05:06,120 --> 00:05:08,560
and have geo-distributed replication.

93
00:05:09,220 --> 00:05:13,640
With the emergence of applications that have global concerns,

94
00:05:13,940 --> 00:05:16,000
global concerns in the sense of, you know,

95
00:05:16,080 --> 00:05:18,540
regulatory compliance concerns like GDPR

96
00:05:18,540 --> 00:05:20,900
or just users that are spread throughout the world,

97
00:05:21,300 --> 00:05:23,060
people who have a database that, you know,

98
00:05:23,100 --> 00:05:25,640
scales and can adapt to where those users are

99
00:05:25,640 --> 00:05:28,500
is an important bit of new functionality that we provide.

100
00:05:29,280 --> 00:05:29,760
Okay.

101
00:05:30,200 --> 00:05:31,940
And I mean, you touched on this,

102
00:05:31,980 --> 00:05:33,220
but I wanted to ask specifically,

103
00:05:33,760 --> 00:05:36,040
is something like CockroachDB or, you know,

104
00:05:36,140 --> 00:05:38,040
pick something similar on the market,

105
00:05:38,160 --> 00:05:40,920
like a replacement for an existing Postgres

106
00:05:41,660 --> 00:05:44,560
or MySQL plus NoSQL databases,

107
00:05:44,840 --> 00:05:46,580
or are they targeting really,

108
00:05:46,780 --> 00:05:48,380
like you mentioned, kind of different workloads?

109
00:05:50,640 --> 00:05:51,880
Oh, they're absolutely a replacement.

110
00:05:52,380 --> 00:05:55,740
I mean, if you were to use Postgres or MySQL directly,

111
00:05:55,860 --> 00:05:57,160
I mean, these are functional, you know,

112
00:05:57,740 --> 00:05:59,180
kind of battle-tested databases,

113
00:05:59,620 --> 00:06:02,180
and yet setting up the replication is a headache.

114
00:06:03,260 --> 00:06:04,800
Dealing with the failover is a headache.

115
00:06:05,000 --> 00:06:06,260
And dealing with that, the scalability,

116
00:06:06,480 --> 00:06:08,840
you know, once you get to a certain size limit

117
00:06:08,840 --> 00:06:10,780
for Postgres or MySQL instance,

118
00:06:11,120 --> 00:06:12,980
you know, you actually end up having to do sharding.

119
00:06:13,300 --> 00:06:15,300
And that sharding is this huge burden

120
00:06:15,300 --> 00:06:16,440
on application developers.

121
00:06:17,020 --> 00:06:19,160
It requires them to put logic in their application

122
00:06:19,160 --> 00:06:20,800
to worry about how I'm spreading my data

123
00:06:20,800 --> 00:06:22,160
across multiple, you know,

124
00:06:22,200 --> 00:06:23,480
Postgres or MySQL instances.

125
00:06:24,280 --> 00:06:26,300
So any of those workloads that you were putting on,

126
00:06:26,380 --> 00:06:27,800
you know, Postgres or MySQL before,

127
00:06:27,900 --> 00:06:28,880
you can put on CockroachDB,

128
00:06:29,140 --> 00:06:30,560
and we just handle that sharding for you.

129
00:06:30,640 --> 00:06:32,620
We handle all the replication just out of the box.

130
00:06:33,360 --> 00:06:36,800
The availability story is just much, much smoother.

131
00:06:37,580 --> 00:06:37,980
Okay.

132
00:06:37,980 --> 00:06:39,880
And is this a matter of,

133
00:06:40,540 --> 00:06:43,360
I mean, do the users typically come

134
00:06:43,360 --> 00:06:44,700
at a certain size or scale?

135
00:06:44,820 --> 00:06:45,580
I would imagine, right,

136
00:06:45,620 --> 00:06:47,000
if I'm a two-person shop,

137
00:06:47,340 --> 00:06:49,080
I might or might not need, you know,

138
00:06:49,100 --> 00:06:50,600
that level of replication, distribution,

139
00:06:50,780 --> 00:06:52,000
or is, I mean, just, yeah.

140
00:06:52,100 --> 00:06:54,600
So where is, like, the usual user, right?

141
00:06:54,600 --> 00:06:55,620
What's that profile look like?

142
00:06:56,180 --> 00:06:58,060
You know, we see a kind of mix.

143
00:06:58,240 --> 00:06:59,540
You know, we see people who have

144
00:06:59,540 --> 00:07:00,740
a relatively small amount of data

145
00:07:00,740 --> 00:07:02,120
and just want to make sure that, you know,

146
00:07:02,140 --> 00:07:04,060
that, you know, the high availability story

147
00:07:04,060 --> 00:07:06,140
that you provide is much, much cleaner.

148
00:07:06,600 --> 00:07:08,800
And we also see people in shops

149
00:07:08,800 --> 00:07:10,140
that are, you know, talking about,

150
00:07:10,200 --> 00:07:11,620
you know, very huge workloads.

151
00:07:12,820 --> 00:07:14,540
I mean, like, if you're just a two-person shop,

152
00:07:14,740 --> 00:07:15,660
one of the things that, you know,

153
00:07:15,900 --> 00:07:17,700
the industry as a whole is moving towards

154
00:07:17,700 --> 00:07:19,320
is database as a service.

155
00:07:19,440 --> 00:07:20,920
You're providing the database as a service.

156
00:07:21,480 --> 00:07:22,920
You know, if you're a two-person shop,

157
00:07:22,980 --> 00:07:24,020
you don't want to be running Postgres

158
00:07:24,020 --> 00:07:25,020
or MySQL yourself.

159
00:07:25,380 --> 00:07:26,800
You're probably wanting to run, you know,

160
00:07:27,140 --> 00:07:29,880
RDS or whatever the equivalent is on Google.

161
00:07:30,660 --> 00:07:32,020
And we're also offering

162
00:07:32,020 --> 00:07:33,600
Cockroach as a service

163
00:07:33,600 --> 00:07:36,920
via a, you know, managed service offering.

164
00:07:37,100 --> 00:07:37,920
That's currently in beta

165
00:07:37,920 --> 00:07:40,620
and we expect to launch it

166
00:07:40,620 --> 00:07:42,880
into wider availability this fall.

167
00:07:43,580 --> 00:07:44,120
All right.

168
00:07:44,580 --> 00:07:46,500
And if I decide to adopt

169
00:07:46,500 --> 00:07:47,740
a distributed SQL database,

170
00:07:47,840 --> 00:07:49,800
what do I need to do differently

171
00:07:49,800 --> 00:07:50,960
in terms of managing it,

172
00:07:51,000 --> 00:07:51,860
in terms of writing to it?

173
00:07:51,920 --> 00:07:54,600
I mean, I assume it's not a one-to-one mapping

174
00:07:54,600 --> 00:07:55,560
in terms of skills,

175
00:07:55,740 --> 00:07:56,580
but, you know,

176
00:07:56,620 --> 00:07:57,680
maybe you're going to tell me differently.

177
00:07:59,760 --> 00:08:00,120
Yeah.

178
00:08:00,280 --> 00:08:01,900
Well, there is a lot of overlap

179
00:08:01,900 --> 00:08:03,180
and that's one of the reasons

180
00:08:03,180 --> 00:08:04,740
that we actually adopted a SQL

181
00:08:04,740 --> 00:08:07,080
as the interface language for CockroachDB

182
00:08:07,080 --> 00:08:08,700
is single as lingua franca

183
00:08:08,700 --> 00:08:11,040
for data manipulation industry.

184
00:08:11,040 --> 00:08:13,100
Now, there are just hundreds of thousands,

185
00:08:13,300 --> 00:08:14,700
millions of developers who know SQL

186
00:08:14,700 --> 00:08:16,760
and know the intricacies of SQL.

187
00:08:16,900 --> 00:08:18,560
And most of those just map perfectly

188
00:08:18,560 --> 00:08:19,880
onto CockroachDB.

189
00:08:20,560 --> 00:08:22,100
The thing you do have to be aware of

190
00:08:22,100 --> 00:08:22,720
is when you're going to need

191
00:08:22,720 --> 00:08:23,920
to multi-region deployments

192
00:08:23,920 --> 00:08:26,640
that you are having to be concerned

193
00:08:26,640 --> 00:08:28,740
about the inner-region latencies.

194
00:08:29,240 --> 00:08:31,280
We don't violate the laws of physics.

195
00:08:31,820 --> 00:08:32,140
They're, you know,

196
00:08:32,240 --> 00:08:34,160
your data centers are, you know,

197
00:08:34,180 --> 00:08:35,260
on different sides of the continent.

198
00:08:35,400 --> 00:08:36,820
There's going to be latencies between them.

199
00:08:38,060 --> 00:08:39,620
But when you know about those latencies,

200
00:08:39,620 --> 00:08:40,820
you can take them into account

201
00:08:40,820 --> 00:08:41,600
in your schema design.

202
00:08:41,920 --> 00:08:43,600
You know, it's essentially equivalent

203
00:08:43,600 --> 00:08:45,760
to the realization that,

204
00:08:45,980 --> 00:08:47,400
oh, I need to know about the concept

205
00:08:47,400 --> 00:08:49,160
of index inside a database

206
00:08:49,160 --> 00:08:50,600
and what impact that's going to have

207
00:08:50,600 --> 00:08:51,260
on performance.

208
00:08:51,580 --> 00:08:53,160
There's a similar bit of concern

209
00:08:53,160 --> 00:08:54,220
with regards to, like,

210
00:08:54,280 --> 00:08:55,900
the geo-distribution of your data.

211
00:08:56,180 --> 00:08:57,300
Need to take into consideration,

212
00:08:57,640 --> 00:08:58,320
but it's something people

213
00:08:58,320 --> 00:08:59,240
can wrap their heads around.

214
00:09:01,820 --> 00:09:02,380
All right.

215
00:09:02,880 --> 00:09:05,120
And why not, you know,

216
00:09:05,160 --> 00:09:05,780
just use, I mean,

217
00:09:06,620 --> 00:09:08,120
like there are so many cloud providers

218
00:09:08,120 --> 00:09:09,020
out there offering, you know,

219
00:09:09,040 --> 00:09:11,260
other sorts of these distributed databases,

220
00:09:11,340 --> 00:09:11,440
right?

221
00:09:11,440 --> 00:09:13,020
Why not just use, you know,

222
00:09:13,060 --> 00:09:14,760
Amazon Aurora or Cosmos

223
00:09:14,760 --> 00:09:16,020
or Google Spanner or something?

224
00:09:16,140 --> 00:09:18,700
What's the benefit of actually,

225
00:09:18,920 --> 00:09:21,000
you know, deploying a,

226
00:09:21,180 --> 00:09:22,600
whatever you want to call it,

227
00:09:22,880 --> 00:09:24,260
you know, deploying software,

228
00:09:24,380 --> 00:09:24,800
I guess, right?

229
00:09:24,800 --> 00:09:27,920
Or deploying a specific database.

230
00:09:28,580 --> 00:09:28,820
Yeah.

231
00:09:29,020 --> 00:09:29,620
Well, I mean,

232
00:09:29,640 --> 00:09:30,500
there's multiple,

233
00:09:30,680 --> 00:09:31,040
you know,

234
00:09:31,120 --> 00:09:32,360
kind of answers to this.

235
00:09:32,580 --> 00:09:32,740
I mean,

236
00:09:32,740 --> 00:09:34,160
one is we're offering capabilities there

237
00:09:34,160 --> 00:09:35,340
that you don't get from Spanner

238
00:09:35,340 --> 00:09:36,260
or from Aurora

239
00:09:36,260 --> 00:09:38,440
yet in our geo-distribution capabilities.

240
00:09:39,480 --> 00:09:40,600
The other big answer

241
00:09:40,600 --> 00:09:42,880
that affects a ton of customers

242
00:09:42,880 --> 00:09:44,800
is that there's that vendor lock-in.

243
00:09:45,000 --> 00:09:45,900
If you're going with Aurora

244
00:09:45,900 --> 00:09:47,220
or you're going with Spanner,

245
00:09:47,340 --> 00:09:48,480
you're locked into those vendors.

246
00:09:48,940 --> 00:09:49,800
And that can be

247
00:09:49,800 --> 00:09:50,800
a significant hardship,

248
00:09:51,180 --> 00:09:52,060
especially if you're trying

249
00:09:52,060 --> 00:09:52,580
to get into,

250
00:09:52,760 --> 00:09:53,040
you know,

251
00:09:53,180 --> 00:09:54,780
these big cloud providers,

252
00:09:54,920 --> 00:09:55,800
they're providing data centers

253
00:09:55,800 --> 00:09:56,440
all over the place,

254
00:09:56,500 --> 00:09:58,100
but sometimes they have a gap

255
00:09:58,100 --> 00:09:59,520
in their coverage

256
00:09:59,520 --> 00:10:01,460
and that gap can affect your users.

257
00:10:02,640 --> 00:10:04,040
But I think it's also

258
00:10:04,040 --> 00:10:05,240
that kind of cloud lock-in

259
00:10:05,240 --> 00:10:06,320
that scares a lot of people.

260
00:10:06,780 --> 00:10:07,040
And, you know,

261
00:10:07,040 --> 00:10:07,480
this is becoming

262
00:10:07,480 --> 00:10:08,560
more and more of a concern.

263
00:10:08,960 --> 00:10:09,820
Amazon is just,

264
00:10:09,880 --> 00:10:10,060
you know,

265
00:10:10,120 --> 00:10:11,780
the huge elephant in this room.

266
00:10:11,900 --> 00:10:12,720
It's gobbling up

267
00:10:12,720 --> 00:10:13,780
kind of mindshare.

268
00:10:14,320 --> 00:10:14,560
You know,

269
00:10:14,640 --> 00:10:17,480
are they benevolent or not?

270
00:10:17,620 --> 00:10:18,280
And, you know,

271
00:10:18,480 --> 00:10:19,880
it's maybe a little bit

272
00:10:19,880 --> 00:10:20,600
too early to tell,

273
00:10:20,760 --> 00:10:22,820
but even if they are benevolent,

274
00:10:22,900 --> 00:10:24,080
they can just accidentally turn

275
00:10:24,080 --> 00:10:24,600
and, you know,

276
00:10:24,840 --> 00:10:25,420
stumble over,

277
00:10:25,780 --> 00:10:26,440
you know,

278
00:10:26,460 --> 00:10:27,000
your company

279
00:10:27,000 --> 00:10:28,100
and crush it.

280
00:10:28,100 --> 00:10:29,080
And, you know,

281
00:10:29,080 --> 00:10:29,860
I think a lot of people

282
00:10:29,860 --> 00:10:30,540
are starting to become

283
00:10:30,540 --> 00:10:31,380
concerned about that.

284
00:10:32,380 --> 00:10:32,960
All right.

285
00:10:33,320 --> 00:10:33,880
It's funny.

286
00:10:33,980 --> 00:10:34,980
So it seems like

287
00:10:34,980 --> 00:10:35,960
there's almost a,

288
00:10:36,500 --> 00:10:37,500
especially in the database world

289
00:10:37,500 --> 00:10:38,020
to some degree

290
00:10:38,020 --> 00:10:39,480
and the distributed

291
00:10:39,480 --> 00:10:40,480
and kind of next-gen

292
00:10:40,480 --> 00:10:41,600
database world,

293
00:10:41,660 --> 00:10:41,800
right?

294
00:10:41,860 --> 00:10:42,500
There are these big,

295
00:10:42,540 --> 00:10:43,440
big cloud providers

296
00:10:43,440 --> 00:10:44,660
and then there are

297
00:10:44,660 --> 00:10:45,360
a lot of startups,

298
00:10:45,520 --> 00:10:45,640
right?

299
00:10:45,680 --> 00:10:46,400
So why would,

300
00:10:47,000 --> 00:10:47,340
I mean,

301
00:10:47,440 --> 00:10:48,100
locking aside,

302
00:10:48,200 --> 00:10:49,780
why would I trust a startup

303
00:10:49,780 --> 00:10:50,980
if I'm a CIO

304
00:10:50,980 --> 00:10:51,920
or, you know,

305
00:10:51,920 --> 00:10:52,960
someone with a decision-making,

306
00:10:53,060 --> 00:10:53,700
you know,

307
00:10:53,700 --> 00:10:54,080
and budget?

308
00:10:54,180 --> 00:10:54,260
Like,

309
00:10:54,300 --> 00:10:54,900
why would I decide,

310
00:10:54,900 --> 00:10:55,300
why would I,

311
00:10:55,380 --> 00:10:56,380
why would I trust a startup

312
00:10:56,380 --> 00:10:57,400
for to do something

313
00:10:57,400 --> 00:10:58,140
mission-critical

314
00:10:58,140 --> 00:10:58,580
instead of,

315
00:10:58,720 --> 00:10:58,820
say,

316
00:10:59,180 --> 00:10:59,400
you know,

317
00:10:59,400 --> 00:11:00,060
one of these big cloud

318
00:11:00,060 --> 00:11:00,460
providers?

319
00:11:00,920 --> 00:11:01,080
Yeah,

320
00:11:01,400 --> 00:11:01,600
no,

321
00:11:01,660 --> 00:11:02,500
it's an excellent question.

322
00:11:02,760 --> 00:11:02,900
I mean,

323
00:11:02,900 --> 00:11:03,360
one of the reasons

324
00:11:03,360 --> 00:11:04,440
we were providing

325
00:11:04,440 --> 00:11:04,980
the source code

326
00:11:04,980 --> 00:11:06,640
and we went open source,

327
00:11:06,740 --> 00:11:07,560
now we have a slightly,

328
00:11:07,740 --> 00:11:08,000
you know,

329
00:11:08,000 --> 00:11:08,660
kind of modified

330
00:11:08,660 --> 00:11:09,660
where our license

331
00:11:09,660 --> 00:11:10,680
isn't pure open source,

332
00:11:10,800 --> 00:11:11,540
but it still provides

333
00:11:11,540 --> 00:11:12,420
a lot of the same benefits

334
00:11:12,420 --> 00:11:13,360
is that,

335
00:11:13,420 --> 00:11:13,540
you know,

336
00:11:13,540 --> 00:11:14,220
the concern is,

337
00:11:14,480 --> 00:11:14,600
oh,

338
00:11:14,600 --> 00:11:15,200
if we just suddenly

339
00:11:15,200 --> 00:11:15,840
fold up shop,

340
00:11:15,900 --> 00:11:16,720
what happens to us?

341
00:11:17,120 --> 00:11:17,980
And this at least

342
00:11:17,980 --> 00:11:18,560
gives some,

343
00:11:18,560 --> 00:11:18,800
you know,

344
00:11:18,900 --> 00:11:19,440
modicum of,

345
00:11:19,500 --> 00:11:19,620
you know,

346
00:11:19,660 --> 00:11:20,520
people still have access

347
00:11:20,520 --> 00:11:21,560
to the source

348
00:11:21,560 --> 00:11:22,280
and a community

349
00:11:22,280 --> 00:11:23,220
can form around it

350
00:11:23,220 --> 00:11:23,820
to support it.

351
00:11:24,080 --> 00:11:24,220
I mean,

352
00:11:24,220 --> 00:11:24,740
that's kind of like

353
00:11:24,740 --> 00:11:26,620
our kind of fail-safe

354
00:11:26,620 --> 00:11:27,180
of,

355
00:11:27,240 --> 00:11:27,400
you know,

356
00:11:27,420 --> 00:11:27,960
concern.

357
00:11:29,760 --> 00:11:30,640
The other thing is,

358
00:11:30,720 --> 00:11:30,840
you know,

359
00:11:30,880 --> 00:11:31,580
like Postgres,

360
00:11:31,700 --> 00:11:32,060
MySQL,

361
00:11:32,260 --> 00:11:33,180
they're heavily invested

362
00:11:33,180 --> 00:11:35,320
by these big cloud providers

363
00:11:35,320 --> 00:11:36,460
and yet,

364
00:11:36,540 --> 00:11:36,700
you know,

365
00:11:36,700 --> 00:11:37,460
they're still open source

366
00:11:37,460 --> 00:11:37,860
themselves.

367
00:11:38,080 --> 00:11:38,220
They're,

368
00:11:38,360 --> 00:11:38,580
you know,

369
00:11:39,140 --> 00:11:40,360
to some degree,

370
00:11:40,440 --> 00:11:40,960
it's not like these

371
00:11:40,960 --> 00:11:42,180
are like the flagship

372
00:11:42,180 --> 00:11:43,880
database projects

373
00:11:43,880 --> 00:11:44,620
that people are

374
00:11:44,620 --> 00:11:46,800
putting their data on.

375
00:11:47,120 --> 00:11:47,980
They're just developed

376
00:11:47,980 --> 00:11:48,640
in the same way

377
00:11:48,640 --> 00:11:49,780
that the cockroaches.

378
00:11:50,940 --> 00:11:51,180
You know,

379
00:11:51,300 --> 00:11:52,000
we test the,

380
00:11:52,140 --> 00:11:52,680
you know,

381
00:11:53,320 --> 00:11:54,940
put significant effort

382
00:11:54,940 --> 00:11:55,560
into testing

383
00:11:55,560 --> 00:11:56,360
for correctness

384
00:11:56,360 --> 00:11:56,960
and stability

385
00:11:56,960 --> 00:11:57,860
and performance

386
00:11:57,860 --> 00:11:58,440
for our system.

387
00:11:59,320 --> 00:11:59,980
It's essentially

388
00:11:59,980 --> 00:12:00,800
like all that

389
00:12:00,800 --> 00:12:02,100
same development practices

390
00:12:02,100 --> 00:12:02,900
that they're doing,

391
00:12:03,240 --> 00:12:03,940
we do as well.

392
00:12:04,200 --> 00:12:04,380
All right.

393
00:12:04,400 --> 00:12:04,720
And then,

394
00:12:04,920 --> 00:12:05,140
I mean,

395
00:12:05,160 --> 00:12:06,280
speaking of the cloud,

396
00:12:06,380 --> 00:12:06,680
I guess,

397
00:12:06,880 --> 00:12:07,440
how would,

398
00:12:07,820 --> 00:12:08,900
how do some of these

399
00:12:08,900 --> 00:12:09,760
new SQL databases

400
00:12:09,760 --> 00:12:11,400
relate to other

401
00:12:11,400 --> 00:12:13,120
cloud native technologies

402
00:12:13,120 --> 00:12:13,680
and practices,

403
00:12:13,780 --> 00:12:13,860
right?

404
00:12:13,860 --> 00:12:14,300
You might look at

405
00:12:14,300 --> 00:12:14,940
microservices

406
00:12:14,940 --> 00:12:15,460
or Kubernetes

407
00:12:15,460 --> 00:12:16,220
or Kafka,

408
00:12:16,700 --> 00:12:17,100
serverless,

409
00:12:17,120 --> 00:12:17,720
and functions.

410
00:12:17,980 --> 00:12:18,080
Like,

411
00:12:18,440 --> 00:12:19,220
is there,

412
00:12:19,220 --> 00:12:20,000
is there a kind of

413
00:12:20,000 --> 00:12:22,200
an inherent connection

414
00:12:22,200 --> 00:12:22,880
or integration

415
00:12:22,880 --> 00:12:24,300
with some of these

416
00:12:24,300 --> 00:12:25,240
other new practices?

417
00:12:26,520 --> 00:12:26,680
Yeah,

418
00:12:26,920 --> 00:12:27,740
certainly Kubernetes

419
00:12:27,740 --> 00:12:28,420
is the one,

420
00:12:28,620 --> 00:12:28,760
you know,

421
00:12:28,760 --> 00:12:29,780
there's this huge wave

422
00:12:29,780 --> 00:12:30,860
occurring in the cloud,

423
00:12:30,940 --> 00:12:31,640
which is everybody's

424
00:12:31,640 --> 00:12:32,260
moving to Kubernetes

425
00:12:32,260 --> 00:12:33,300
and putting their

426
00:12:33,300 --> 00:12:33,900
microservices

427
00:12:33,900 --> 00:12:34,780
on top of Kubernetes.

428
00:12:35,300 --> 00:12:35,980
And for the most part,

429
00:12:36,360 --> 00:12:37,220
that works well.

430
00:12:37,760 --> 00:12:38,660
Kubernetes provides

431
00:12:38,660 --> 00:12:39,800
a great substrate

432
00:12:39,800 --> 00:12:40,700
for running

433
00:12:40,700 --> 00:12:42,300
stateless applications.

434
00:12:42,760 --> 00:12:43,540
But then we have

435
00:12:43,540 --> 00:12:44,940
the stateful applications,

436
00:12:45,160 --> 00:12:45,740
and these are the ones

437
00:12:45,740 --> 00:12:46,920
storing data in databases.

438
00:12:47,320 --> 00:12:48,220
And then you have to wonder,

439
00:12:48,320 --> 00:12:49,060
where is the database

440
00:12:49,060 --> 00:12:49,840
itself running?

441
00:12:50,540 --> 00:12:51,620
Cockroach actually runs

442
00:12:51,620 --> 00:12:52,380
really nicely

443
00:12:52,380 --> 00:12:53,540
on top of Kubernetes.

444
00:12:54,300 --> 00:12:55,840
And that is our

445
00:12:55,840 --> 00:12:56,900
number one distribution

446
00:12:56,900 --> 00:12:57,420
mechanism.

447
00:12:57,580 --> 00:12:58,360
The number one mechanism

448
00:12:58,360 --> 00:12:59,520
by which people run

449
00:12:59,520 --> 00:13:00,140
CockroachDB

450
00:13:00,140 --> 00:13:01,400
is on top of Kubernetes.

451
00:13:01,700 --> 00:13:02,300
And then they'll have,

452
00:13:02,360 --> 00:13:02,580
you know,

453
00:13:02,880 --> 00:13:03,980
Cockroach running Kubernetes,

454
00:13:04,180 --> 00:13:04,960
their application running

455
00:13:04,960 --> 00:13:05,480
on Kubernetes,

456
00:13:05,680 --> 00:13:07,000
you get all the goodness

457
00:13:07,000 --> 00:13:07,600
from the Kubernetes

458
00:13:07,600 --> 00:13:08,100
scheduling.

459
00:13:08,800 --> 00:13:09,440
One of the things

460
00:13:09,440 --> 00:13:10,420
that these kind of,

461
00:13:10,660 --> 00:13:11,840
this new wave

462
00:13:11,840 --> 00:13:12,800
of distributed,

463
00:13:12,980 --> 00:13:13,220
you know,

464
00:13:13,240 --> 00:13:14,420
SQL databases is doing

465
00:13:14,420 --> 00:13:15,300
is because we have

466
00:13:15,300 --> 00:13:15,960
the replication

467
00:13:15,960 --> 00:13:16,440
and whatnot

468
00:13:16,440 --> 00:13:17,500
just kind of built in

469
00:13:17,500 --> 00:13:18,700
and baked into the product

470
00:13:18,700 --> 00:13:20,380
that it handles

471
00:13:20,380 --> 00:13:21,580
that elastic scale-up

472
00:13:21,580 --> 00:13:22,620
that Kubernetes offers

473
00:13:22,620 --> 00:13:23,200
and it handles

474
00:13:23,200 --> 00:13:23,760
the fail-up

475
00:13:23,760 --> 00:13:24,760
that Kubernetes offers

476
00:13:24,760 --> 00:13:25,600
where you don't get

477
00:13:25,600 --> 00:13:26,340
the same behavior

478
00:13:26,340 --> 00:13:27,180
from something like

479
00:13:27,180 --> 00:13:27,600
trying to run

480
00:13:27,600 --> 00:13:28,700
MySQL or Postgres

481
00:13:28,700 --> 00:13:30,120
on top of Kubernetes.

482
00:13:31,060 --> 00:13:31,500
Okay.

483
00:13:31,760 --> 00:13:32,680
And do you see

484
00:13:32,680 --> 00:13:34,000
a common

485
00:13:34,000 --> 00:13:34,860
or at least

486
00:13:34,860 --> 00:13:36,680
a relatively common

487
00:13:36,680 --> 00:13:37,940
kind of data architecture

488
00:13:37,940 --> 00:13:38,520
as you're looking

489
00:13:38,520 --> 00:13:39,060
at customers

490
00:13:39,060 --> 00:13:39,700
and what they're running?

491
00:13:39,820 --> 00:13:41,280
The idea of Kubernetes

492
00:13:41,280 --> 00:13:42,820
as a substrate

493
00:13:42,820 --> 00:13:43,760
for running stuff

494
00:13:43,760 --> 00:13:45,140
is intriguing, right?

495
00:13:45,180 --> 00:13:45,580
So I'm curious

496
00:13:45,580 --> 00:13:46,160
if there's kind of

497
00:13:46,160 --> 00:13:48,260
a standard architecture

498
00:13:48,260 --> 00:13:49,680
of Cockroach

499
00:13:49,680 --> 00:13:50,440
or SQL Plus

500
00:13:50,440 --> 00:13:50,740
whatever

501
00:13:50,740 --> 00:13:51,300
that you've seen

502
00:13:51,300 --> 00:13:51,820
pretty commonly.

503
00:13:52,660 --> 00:13:53,060
Yeah.

504
00:13:53,240 --> 00:13:53,480
You know,

505
00:13:53,640 --> 00:13:54,780
I can't say like

506
00:13:54,780 --> 00:13:55,680
we see so much

507
00:13:55,680 --> 00:13:56,320
above the stack

508
00:13:56,320 --> 00:13:56,860
that's common.

509
00:13:57,220 --> 00:13:57,940
There seems to be

510
00:13:57,940 --> 00:13:59,140
a little bit more froth there

511
00:13:59,140 --> 00:14:00,000
but certainly,

512
00:14:00,160 --> 00:14:00,460
you know,

513
00:14:00,500 --> 00:14:00,820
Kubernetes

514
00:14:00,820 --> 00:14:01,760
as a substrate,

515
00:14:02,000 --> 00:14:03,020
this has actually

516
00:14:03,020 --> 00:14:04,240
just completely changed

517
00:14:04,240 --> 00:14:05,460
over the past four years.

518
00:14:05,880 --> 00:14:06,500
When we were getting

519
00:14:06,500 --> 00:14:07,820
started with Cockroach Labs,

520
00:14:08,360 --> 00:14:08,540
you know,

521
00:14:08,740 --> 00:14:09,620
I think Kubernetes

522
00:14:09,620 --> 00:14:10,340
was announced

523
00:14:10,340 --> 00:14:11,160
just right around

524
00:14:11,160 --> 00:14:11,740
that time

525
00:14:11,740 --> 00:14:12,880
or just slightly afterwards

526
00:14:12,880 --> 00:14:13,560
and it's like,

527
00:14:13,620 --> 00:14:13,700
oh,

528
00:14:13,720 --> 00:14:14,520
let's see how this goes

529
00:14:14,520 --> 00:14:15,060
and now it's just

530
00:14:15,060 --> 00:14:16,060
every conversation

531
00:14:16,060 --> 00:14:17,520
and every customer

532
00:14:17,520 --> 00:14:18,580
is asking about this

533
00:14:18,580 --> 00:14:20,240
and this goes from,

534
00:14:20,280 --> 00:14:20,600
you know,

535
00:14:20,640 --> 00:14:21,460
the small startups

536
00:14:21,460 --> 00:14:22,860
all the way up to,

537
00:14:23,060 --> 00:14:23,180
you know,

538
00:14:23,220 --> 00:14:23,900
the big fortune

539
00:14:23,900 --> 00:14:24,920
500 companies

540
00:14:24,920 --> 00:14:27,060
that are using us

541
00:14:27,060 --> 00:14:27,980
and experimenting

542
00:14:27,980 --> 00:14:28,360
with us.

543
00:14:28,480 --> 00:14:29,240
They all have

544
00:14:29,240 --> 00:14:29,980
some kind of Kubernetes

545
00:14:29,980 --> 00:14:31,200
mandate it feels like.

546
00:14:31,660 --> 00:14:32,320
So that's really

547
00:14:32,320 --> 00:14:33,040
the common thread

548
00:14:33,040 --> 00:14:34,140
we see going on there.

549
00:14:34,720 --> 00:14:35,600
But as far as like,

550
00:14:35,640 --> 00:14:35,820
you know,

551
00:14:35,840 --> 00:14:36,480
like kind of the other

552
00:14:36,480 --> 00:14:37,300
parts of the stack,

553
00:14:37,660 --> 00:14:37,780
you know,

554
00:14:37,780 --> 00:14:38,480
people using us

555
00:14:38,480 --> 00:14:39,100
from JavaScript,

556
00:14:39,380 --> 00:14:39,880
from Java,

557
00:14:40,060 --> 00:14:40,640
from Go,

558
00:14:41,180 --> 00:14:41,960
from Python,

559
00:14:42,480 --> 00:14:42,680
you know,

560
00:14:42,680 --> 00:14:43,100
it's just,

561
00:14:43,620 --> 00:14:44,880
it's quite a bit

562
00:14:44,880 --> 00:14:45,860
more diffuse there.

563
00:14:46,700 --> 00:14:46,920
All right.

564
00:14:47,340 --> 00:14:47,800
And then,

565
00:14:47,940 --> 00:14:48,200
I mean,

566
00:14:48,200 --> 00:14:48,940
you touched on

567
00:14:48,940 --> 00:14:49,760
the open source nature

568
00:14:49,760 --> 00:14:51,440
of Cockroach

569
00:14:51,440 --> 00:14:52,400
and a lot of other,

570
00:14:52,500 --> 00:14:52,700
you know,

571
00:14:52,800 --> 00:14:53,100
of,

572
00:14:53,240 --> 00:14:53,360
you know,

573
00:14:53,400 --> 00:14:53,960
maybe Cockroach

574
00:14:53,960 --> 00:14:54,440
alternatives

575
00:14:54,440 --> 00:14:55,440
are open source

576
00:14:55,440 --> 00:14:55,780
as well.

577
00:14:55,880 --> 00:14:56,080
Like,

578
00:14:56,420 --> 00:14:57,560
what's the reason

579
00:14:57,560 --> 00:14:58,540
behind the open source,

580
00:14:58,640 --> 00:14:58,800
you know,

581
00:14:58,800 --> 00:14:59,500
behind the open source?

582
00:14:59,540 --> 00:14:59,920
Because it seems like

583
00:14:59,920 --> 00:15:00,860
most new databases,

584
00:15:01,020 --> 00:15:01,300
frankly,

585
00:15:01,760 --> 00:15:02,040
you know,

586
00:15:02,080 --> 00:15:02,940
or at least many

587
00:15:02,940 --> 00:15:04,120
are open source.

588
00:15:04,240 --> 00:15:04,620
And then how should

589
00:15:04,620 --> 00:15:05,400
enterprises think

590
00:15:05,400 --> 00:15:06,140
about using,

591
00:15:06,220 --> 00:15:06,940
you know,

592
00:15:06,980 --> 00:15:07,720
the free versus

593
00:15:07,720 --> 00:15:08,460
the paid versions

594
00:15:08,460 --> 00:15:09,100
of those products?

595
00:15:09,400 --> 00:15:09,660
Yeah.

596
00:15:10,320 --> 00:15:10,720
Well,

597
00:15:11,080 --> 00:15:11,740
there's kind of

598
00:15:11,740 --> 00:15:12,560
two questions there.

599
00:15:12,840 --> 00:15:13,040
So,

600
00:15:13,200 --> 00:15:13,360
I mean,

601
00:15:13,380 --> 00:15:14,160
the first question is,

602
00:15:14,200 --> 00:15:14,360
you know,

603
00:15:14,420 --> 00:15:15,080
what's the motivation

604
00:15:15,080 --> 00:15:15,600
behind,

605
00:15:15,700 --> 00:15:16,500
you know,

606
00:15:16,600 --> 00:15:16,840
choosing,

607
00:15:17,000 --> 00:15:17,680
using open source

608
00:15:17,680 --> 00:15:18,400
for these products?

609
00:15:18,820 --> 00:15:19,720
And part of that is,

610
00:15:19,820 --> 00:15:19,900
you know,

611
00:15:19,920 --> 00:15:20,560
there's been some,

612
00:15:20,620 --> 00:15:21,000
you know,

613
00:15:21,060 --> 00:15:22,880
problematic history

614
00:15:22,880 --> 00:15:23,780
behind closed source

615
00:15:23,780 --> 00:15:25,080
databases provided

616
00:15:25,080 --> 00:15:25,660
by Starps.

617
00:15:26,360 --> 00:15:26,980
Foundation DB

618
00:15:26,980 --> 00:15:27,540
was the one

619
00:15:27,540 --> 00:15:28,020
that occurred

620
00:15:28,020 --> 00:15:29,060
just right around

621
00:15:29,060 --> 00:15:29,420
the time,

622
00:15:29,640 --> 00:15:29,800
you know,

623
00:15:29,800 --> 00:15:30,440
four years ago

624
00:15:30,440 --> 00:15:31,160
that Cockroach Labs

625
00:15:31,160 --> 00:15:31,720
was getting started

626
00:15:31,720 --> 00:15:32,520
where they were

627
00:15:32,520 --> 00:15:33,120
closed source,

628
00:15:33,260 --> 00:15:34,660
kind of not quite

629
00:15:34,660 --> 00:15:35,240
new SQL.

630
00:15:35,400 --> 00:15:36,080
They weren't quite

631
00:15:36,080 --> 00:15:36,600
as advanced

632
00:15:36,600 --> 00:15:37,640
as CockroachDB

633
00:15:37,640 --> 00:15:38,220
in some ways.

634
00:15:38,660 --> 00:15:39,140
They were more

635
00:15:39,140 --> 00:15:40,620
of a key value

636
00:15:40,620 --> 00:15:42,800
store type

637
00:15:42,800 --> 00:15:43,220
no SQL,

638
00:15:43,640 --> 00:15:44,080
but they were

639
00:15:44,080 --> 00:15:44,600
closed source

640
00:15:44,600 --> 00:15:45,020
and,

641
00:15:45,120 --> 00:15:45,960
you know,

642
00:15:46,300 --> 00:15:46,840
they looked like

643
00:15:46,840 --> 00:15:47,560
they had a really

644
00:15:47,560 --> 00:15:48,200
nice architecture

645
00:15:48,200 --> 00:15:48,720
and everything

646
00:15:48,720 --> 00:15:49,500
and then they got

647
00:15:49,500 --> 00:15:50,120
bought by Apple

648
00:15:50,120 --> 00:15:51,160
and got shut down.

649
00:15:51,740 --> 00:15:51,820
And,

650
00:15:51,920 --> 00:15:52,200
you know,

651
00:15:52,220 --> 00:15:52,700
that was kind of,

652
00:15:52,800 --> 00:15:52,980
you know,

653
00:15:53,040 --> 00:15:53,460
we were paying

654
00:15:53,460 --> 00:15:54,140
attention at the time

655
00:15:54,140 --> 00:15:54,480
being like,

656
00:15:54,560 --> 00:15:54,720
ah,

657
00:15:54,780 --> 00:15:55,000
you know,

658
00:15:55,060 --> 00:15:55,600
customers are going

659
00:15:55,600 --> 00:15:56,080
to have a hard

660
00:15:56,080 --> 00:15:56,940
time adopting us

661
00:15:56,940 --> 00:15:57,140
if,

662
00:15:57,340 --> 00:15:57,500
you know,

663
00:15:57,800 --> 00:15:58,600
the rug can get

664
00:15:58,600 --> 00:15:59,660
pulled out at any time.

665
00:16:00,160 --> 00:16:00,520
So,

666
00:16:00,680 --> 00:16:01,180
that was one

667
00:16:01,180 --> 00:16:01,960
of our motivations

668
00:16:01,960 --> 00:16:03,260
for going open source

669
00:16:03,260 --> 00:16:03,640
is to,

670
00:16:03,680 --> 00:16:03,840
you know,

671
00:16:03,840 --> 00:16:04,780
provide this guarantee.

672
00:16:04,920 --> 00:16:05,180
It's like,

673
00:16:05,240 --> 00:16:05,440
you know,

674
00:16:05,440 --> 00:16:06,040
no matter what else

675
00:16:06,040 --> 00:16:06,680
happens to us,

676
00:16:06,720 --> 00:16:07,240
we have bought,

677
00:16:07,340 --> 00:16:07,600
whatever,

678
00:16:08,100 --> 00:16:09,520
we go under,

679
00:16:09,660 --> 00:16:09,940
you know,

680
00:16:09,980 --> 00:16:10,500
that this is going

681
00:16:10,500 --> 00:16:11,040
to be there

682
00:16:11,040 --> 00:16:12,220
and you have

683
00:16:12,220 --> 00:16:13,460
that fail safe there.

684
00:16:13,800 --> 00:16:14,420
Another aspect

685
00:16:14,420 --> 00:16:15,920
is just the marketing,

686
00:16:16,040 --> 00:16:16,600
the go-to-market

687
00:16:16,600 --> 00:16:17,600
of using open source.

688
00:16:18,340 --> 00:16:19,020
There's a kind of

689
00:16:19,020 --> 00:16:20,060
heavyweight go-to-market

690
00:16:20,060 --> 00:16:21,020
asking people like,

691
00:16:21,200 --> 00:16:21,260
hey,

692
00:16:21,340 --> 00:16:22,260
try my closed source

693
00:16:22,260 --> 00:16:23,200
database software

694
00:16:23,200 --> 00:16:24,060
and,

695
00:16:24,240 --> 00:16:24,680
you know,

696
00:16:25,140 --> 00:16:25,860
you usually have

697
00:16:25,860 --> 00:16:27,080
a kind of heavy sales

698
00:16:27,080 --> 00:16:28,160
effort involved there

699
00:16:28,160 --> 00:16:28,660
where,

700
00:16:28,760 --> 00:16:28,900
you know,

701
00:16:28,940 --> 00:16:29,200
it's like,

702
00:16:29,260 --> 00:16:29,900
you want to get

703
00:16:29,900 --> 00:16:30,920
the access to the binary

704
00:16:30,920 --> 00:16:31,960
for trial purposes,

705
00:16:32,420 --> 00:16:33,100
three-day trial

706
00:16:33,100 --> 00:16:33,440
and whatnot.

707
00:16:34,300 --> 00:16:35,440
What open source does

708
00:16:35,440 --> 00:16:35,940
is it allows you

709
00:16:35,940 --> 00:16:36,340
to kind of go

710
00:16:36,340 --> 00:16:37,040
in the back door.

711
00:16:37,500 --> 00:16:38,240
Developers can just

712
00:16:38,240 --> 00:16:39,080
download your software,

713
00:16:39,280 --> 00:16:40,160
start trying it,

714
00:16:40,220 --> 00:16:40,860
kicking the tires

715
00:16:40,860 --> 00:16:41,200
and whatnot.

716
00:16:41,560 --> 00:16:42,180
They can even peek

717
00:16:42,180 --> 00:16:42,680
under the hood

718
00:16:42,680 --> 00:16:44,220
to see if the claims

719
00:16:44,220 --> 00:16:44,580
you're making

720
00:16:44,580 --> 00:16:45,360
on your website

721
00:16:45,360 --> 00:16:46,280
are valid.

722
00:16:46,800 --> 00:16:46,920
You know,

723
00:16:46,960 --> 00:16:48,020
you hear someone says,

724
00:16:48,180 --> 00:16:48,300
oh,

725
00:16:48,340 --> 00:16:49,460
this is absolutely reliable

726
00:16:49,460 --> 00:16:51,900
and then you actually

727
00:16:51,900 --> 00:16:52,520
peek under the hood

728
00:16:52,520 --> 00:16:53,880
and you see what

729
00:16:53,880 --> 00:16:54,900
their coding practices are

730
00:16:54,900 --> 00:16:55,300
and see what

731
00:16:55,300 --> 00:16:56,460
their testing practices are

732
00:16:56,460 --> 00:16:56,660
and,

733
00:16:56,840 --> 00:16:56,980
you know,

734
00:16:57,040 --> 00:16:57,460
kind of,

735
00:16:57,720 --> 00:16:57,880
you know,

736
00:16:57,900 --> 00:16:59,100
your eyes can open wide

737
00:16:59,100 --> 00:16:59,520
and be like,

738
00:16:59,620 --> 00:16:59,760
oh,

739
00:16:59,860 --> 00:17:00,920
no way would I trust that.

740
00:17:01,280 --> 00:17:01,740
And what we do

741
00:17:01,740 --> 00:17:02,460
is all in the open.

742
00:17:02,980 --> 00:17:03,640
People can,

743
00:17:03,700 --> 00:17:03,880
you know,

744
00:17:03,880 --> 00:17:04,500
follow along.

745
00:17:04,880 --> 00:17:05,560
Not sure if they do,

746
00:17:05,660 --> 00:17:06,360
but that's part of the,

747
00:17:06,400 --> 00:17:07,120
you know,

748
00:17:07,460 --> 00:17:09,360
the rationale behind it.

749
00:17:09,580 --> 00:17:10,900
Kind of keeps us honest

750
00:17:10,900 --> 00:17:11,500
to have that

751
00:17:11,500 --> 00:17:12,640
openness baked

752
00:17:12,640 --> 00:17:13,340
into what we do.

753
00:17:13,760 --> 00:17:13,900
Okay.

754
00:17:13,980 --> 00:17:14,800
And then the second part

755
00:17:14,800 --> 00:17:15,260
of the question,

756
00:17:15,360 --> 00:17:15,480
Peter,

757
00:17:15,520 --> 00:17:16,640
was how should enterprises

758
00:17:16,640 --> 00:17:18,120
think about using

759
00:17:18,120 --> 00:17:19,240
or I guess any users

760
00:17:19,240 --> 00:17:19,880
think about using

761
00:17:19,880 --> 00:17:20,720
the free versus

762
00:17:20,720 --> 00:17:21,780
paid version

763
00:17:21,780 --> 00:17:23,600
of an open source product?

764
00:17:24,580 --> 00:17:24,980
Yeah.

765
00:17:25,500 --> 00:17:25,860
So,

766
00:17:26,080 --> 00:17:26,340
I mean,

767
00:17:26,360 --> 00:17:27,080
one of the main reasons

768
00:17:27,080 --> 00:17:28,700
that people use

769
00:17:28,700 --> 00:17:29,380
our paid version

770
00:17:29,380 --> 00:17:30,280
is we actually put

771
00:17:30,280 --> 00:17:31,940
features into

772
00:17:31,940 --> 00:17:32,880
that enterprise version

773
00:17:32,880 --> 00:17:33,900
that you want to have

774
00:17:33,900 --> 00:17:34,340
if you're running

775
00:17:34,340 --> 00:17:34,860
a production.

776
00:17:35,300 --> 00:17:35,920
And we kind of

777
00:17:35,920 --> 00:17:36,860
try to draw the line

778
00:17:36,860 --> 00:17:38,880
between our free version

779
00:17:38,880 --> 00:17:39,520
and our paid version

780
00:17:39,520 --> 00:17:40,500
based on things that,

781
00:17:40,580 --> 00:17:40,800
you know,

782
00:17:40,940 --> 00:17:41,580
a small startup

783
00:17:41,580 --> 00:17:42,400
might not necessarily

784
00:17:42,400 --> 00:17:43,040
need when they're

785
00:17:43,040 --> 00:17:43,740
just getting started,

786
00:17:43,940 --> 00:17:44,780
but you almost certainly

787
00:17:44,780 --> 00:17:45,480
want when you're getting

788
00:17:45,480 --> 00:17:46,420
to any sort of scale.

789
00:17:47,060 --> 00:17:48,120
Most obvious example

790
00:17:48,120 --> 00:17:48,620
of that is

791
00:17:48,620 --> 00:17:49,440
Backup and Restore

792
00:17:49,440 --> 00:17:50,660
is on our paid version.

793
00:17:51,160 --> 00:17:51,380
And,

794
00:17:51,440 --> 00:17:51,880
you know,

795
00:17:51,880 --> 00:17:52,820
like any big enterprise

796
00:17:52,820 --> 00:17:53,480
that's using

797
00:17:53,480 --> 00:17:54,200
a database product

798
00:17:54,200 --> 00:17:55,140
is probably going to want

799
00:17:55,140 --> 00:17:55,960
Backup and Restore.

800
00:17:56,500 --> 00:17:58,000
But above and beyond that,

801
00:17:58,260 --> 00:17:58,520
you know,

802
00:17:58,560 --> 00:17:59,500
there's usually,

803
00:17:59,660 --> 00:17:59,920
you know,

804
00:17:59,980 --> 00:18:00,780
support contracts

805
00:18:00,780 --> 00:18:01,320
that come along

806
00:18:01,320 --> 00:18:02,280
with our enterprise version.

807
00:18:02,800 --> 00:18:03,800
And that's also

808
00:18:03,800 --> 00:18:04,800
kind of a critical need

809
00:18:04,800 --> 00:18:05,580
for any enterprise.

810
00:18:05,740 --> 00:18:06,260
If you're putting,

811
00:18:06,460 --> 00:18:06,580
you know,

812
00:18:06,620 --> 00:18:07,180
we want people

813
00:18:07,180 --> 00:18:08,280
to put their crown jewels

814
00:18:08,280 --> 00:18:08,880
with their data

815
00:18:08,880 --> 00:18:10,080
into CockroachDB,

816
00:18:10,740 --> 00:18:11,820
it's kind of almost

817
00:18:11,820 --> 00:18:12,660
a fiduciary duty

818
00:18:12,660 --> 00:18:13,680
to have a support contract

819
00:18:13,680 --> 00:18:14,360
at that point

820
00:18:14,360 --> 00:18:15,000
with the company

821
00:18:15,000 --> 00:18:16,040
providing that software.

822
00:18:16,740 --> 00:18:17,020
And then,

823
00:18:17,120 --> 00:18:18,220
and then finally,

824
00:18:18,320 --> 00:18:18,600
Peter,

825
00:18:19,260 --> 00:18:19,620
I mean,

826
00:18:19,640 --> 00:18:21,000
what does your ideal future

827
00:18:21,000 --> 00:18:21,420
look like

828
00:18:21,420 --> 00:18:22,320
with regard to

829
00:18:22,320 --> 00:18:24,520
SQL and database technology

830
00:18:24,520 --> 00:18:24,920
in general,

831
00:18:25,000 --> 00:18:25,120
right?

832
00:18:25,120 --> 00:18:25,260
I mean,

833
00:18:25,280 --> 00:18:25,860
that's in terms

834
00:18:25,860 --> 00:18:26,460
of capabilities,

835
00:18:26,600 --> 00:18:26,940
I guess,

836
00:18:27,060 --> 00:18:27,920
but also in terms

837
00:18:27,920 --> 00:18:28,820
of how you would

838
00:18:28,820 --> 00:18:29,500
like to see

839
00:18:29,500 --> 00:18:31,100
organizations and users,

840
00:18:31,300 --> 00:18:31,780
you know,

841
00:18:31,820 --> 00:18:32,340
architecting

842
00:18:32,340 --> 00:18:32,640
and building

843
00:18:32,640 --> 00:18:33,280
new applications

844
00:18:33,280 --> 00:18:33,960
to take advantage

845
00:18:33,960 --> 00:18:35,180
of what's coming

846
00:18:35,180 --> 00:18:35,640
down the pike.

847
00:18:37,380 --> 00:18:37,740
Yeah,

848
00:18:37,900 --> 00:18:38,120
I mean,

849
00:18:38,160 --> 00:18:38,880
the thing I'm excited

850
00:18:38,880 --> 00:18:39,600
about is the,

851
00:18:39,660 --> 00:18:39,880
you know,

852
00:18:39,940 --> 00:18:40,760
this evolving

853
00:18:40,760 --> 00:18:43,600
landscape of applications

854
00:18:43,600 --> 00:18:44,120
that can work

855
00:18:44,120 --> 00:18:44,840
in a global manner

856
00:18:44,840 --> 00:18:46,200
and have geodistributed

857
00:18:46,200 --> 00:18:46,880
applications

858
00:18:46,880 --> 00:18:48,420
that can take advantage

859
00:18:48,420 --> 00:18:49,760
of a geodistributed database.

860
00:18:50,320 --> 00:18:50,980
And there's going

861
00:18:50,980 --> 00:18:51,720
to be enhancements

862
00:18:51,720 --> 00:18:53,520
to the kind

863
00:18:53,520 --> 00:18:54,620
of the SQL abstractions

864
00:18:54,620 --> 00:18:55,840
to make this easier to do.

865
00:18:56,080 --> 00:18:56,420
And I'd say

866
00:18:56,420 --> 00:18:57,020
we're still kind

867
00:18:57,020 --> 00:18:57,680
in the early days

868
00:18:57,680 --> 00:18:58,020
of this.

869
00:18:58,500 --> 00:18:58,940
CockroachDB

870
00:18:58,940 --> 00:18:59,760
provides a lot

871
00:18:59,760 --> 00:19:00,220
of mechanism

872
00:19:00,220 --> 00:19:00,820
for doing

873
00:19:00,820 --> 00:19:02,340
geodistributed applications.

874
00:19:03,140 --> 00:19:03,980
And yet those mechanisms

875
00:19:03,980 --> 00:19:04,840
are a little bit,

876
00:19:04,860 --> 00:19:05,180
you know,

877
00:19:05,340 --> 00:19:06,260
rough around the edges.

878
00:19:06,600 --> 00:19:06,620
So,

879
00:19:06,800 --> 00:19:06,920
I mean,

880
00:19:06,980 --> 00:19:07,860
the area I'm excited

881
00:19:07,860 --> 00:19:08,540
to see innovation

882
00:19:08,540 --> 00:19:10,380
in is improving

883
00:19:10,380 --> 00:19:11,940
those SQL abstractions,

884
00:19:12,180 --> 00:19:12,880
improving how,

885
00:19:13,120 --> 00:19:13,280
you know,

886
00:19:13,300 --> 00:19:14,200
that functionality works.

887
00:19:14,260 --> 00:19:15,320
So it's just crystal clear

888
00:19:15,320 --> 00:19:16,040
and easy

889
00:19:16,040 --> 00:19:17,200
for developers to use.

890
00:19:17,480 --> 00:19:17,900
And then also

891
00:19:17,900 --> 00:19:18,800
seeing this evolution

892
00:19:18,800 --> 00:19:19,880
of the,

893
00:19:20,140 --> 00:19:20,300
you know,

894
00:19:20,320 --> 00:19:21,400
kind of a global app

895
00:19:21,400 --> 00:19:22,780
tier come into play.

896
00:19:23,220 --> 00:19:23,420
You can,

897
00:19:23,900 --> 00:19:24,700
so easy

898
00:19:24,700 --> 00:19:25,900
to get a VM

899
00:19:25,900 --> 00:19:27,000
running in a data center,

900
00:19:27,020 --> 00:19:27,920
but actually getting

901
00:19:27,920 --> 00:19:28,820
an application running

902
00:19:28,820 --> 00:19:29,600
is quite a bit harder

903
00:19:29,600 --> 00:19:30,240
than trying to get

904
00:19:30,240 --> 00:19:30,940
a geodistributed

905
00:19:30,940 --> 00:19:31,680
application running

906
00:19:31,680 --> 00:19:32,860
is even harder still.

907
00:19:33,060 --> 00:19:33,940
And all that stuff

908
00:19:33,940 --> 00:19:34,680
is going to be addressed

909
00:19:34,680 --> 00:19:35,220
over time.

910
00:19:35,340 --> 00:19:36,240
We're seeing progress

911
00:19:36,240 --> 00:19:36,900
in these areas.

912
00:19:37,420 --> 00:19:37,580
You know,

913
00:19:37,780 --> 00:19:38,440
before it was starting

914
00:19:38,440 --> 00:19:38,860
a VM,

915
00:19:39,320 --> 00:19:40,000
now it's like

916
00:19:40,000 --> 00:19:40,740
usually you get

917
00:19:40,740 --> 00:19:41,600
a Kubernetes cluster

918
00:19:41,600 --> 00:19:42,020
running,

919
00:19:42,380 --> 00:19:43,480
but getting a multi-region

920
00:19:43,480 --> 00:19:44,280
Kubernetes cluster

921
00:19:44,280 --> 00:19:45,020
is still hard.

922
00:19:45,540 --> 00:19:46,260
I think these things

923
00:19:46,260 --> 00:19:46,980
are all going to be

924
00:19:46,980 --> 00:19:48,060
addressed in the coming years.

925
00:19:48,420 --> 00:19:49,020
And we're going to get

926
00:19:49,020 --> 00:19:49,520
to this point

927
00:19:49,520 --> 00:19:49,800
where,

928
00:19:49,900 --> 00:19:50,080
you know,

929
00:19:50,100 --> 00:19:50,820
if I want to,

930
00:19:50,820 --> 00:19:51,080
you know,

931
00:19:51,080 --> 00:19:52,780
spin up a global application,

932
00:19:52,860 --> 00:19:53,560
I'll be able to do that

933
00:19:53,560 --> 00:19:54,020
in minutes

934
00:19:54,020 --> 00:19:54,960
and deploy it in minutes.

935
00:19:55,760 --> 00:19:55,940
You know,

936
00:19:56,060 --> 00:19:56,580
that's still,

937
00:19:56,700 --> 00:19:56,880
you know,

938
00:19:56,880 --> 00:19:57,560
kind of a far off

939
00:19:57,560 --> 00:19:58,160
pie in the sky,

940
00:19:58,280 --> 00:19:59,240
but I think

941
00:19:59,240 --> 00:19:59,800
we'll get there.

942
00:20:00,800 --> 00:20:01,320
All right.

943
00:20:01,360 --> 00:20:01,600
Great.

944
00:20:01,920 --> 00:20:02,360
And with that,

945
00:20:02,740 --> 00:20:03,520
we are out of time.

946
00:20:03,600 --> 00:20:04,120
Thanks a lot, Peter.

947
00:20:05,280 --> 00:20:05,860
All right.

948
00:20:06,080 --> 00:20:06,780
Well, thank you, Derek.

949
00:20:07,640 --> 00:20:08,520
There you have it.

950
00:20:08,560 --> 00:20:10,600
I hope it was 20 minutes

951
00:20:10,600 --> 00:20:11,140
well spent.

952
00:20:11,700 --> 00:20:12,540
For more information

953
00:20:12,540 --> 00:20:13,620
about Cockroach Labs,

954
00:20:13,720 --> 00:20:14,160
the company,

955
00:20:14,380 --> 00:20:15,220
and CockroachDB,

956
00:20:15,360 --> 00:20:15,860
the product,

957
00:20:16,100 --> 00:20:16,860
you can visit

958
00:20:16,860 --> 00:20:18,540
CockroachLabs.com

959
00:20:18,540 --> 00:20:19,520
or you can dive

960
00:20:19,520 --> 00:20:20,120
a little deeper

961
00:20:20,120 --> 00:20:21,040
into the project

962
00:20:21,040 --> 00:20:22,720
at GitHub.com

963
00:20:22,720 --> 00:20:24,180
slash CockroachDB.

964
00:20:24,820 --> 00:20:25,840
For more information

965
00:20:25,840 --> 00:20:27,120
on our broad suite

966
00:20:27,120 --> 00:20:27,860
of products

967
00:20:27,860 --> 00:20:28,440
and services

968
00:20:28,440 --> 00:20:28,940
for building

969
00:20:28,940 --> 00:20:29,420
and managing

970
00:20:29,420 --> 00:20:30,480
cloud-native applications,

971
00:20:30,940 --> 00:20:32,060
as well as transforming

972
00:20:32,060 --> 00:20:33,040
how you build software,

973
00:20:33,560 --> 00:20:35,260
check out Pivotal.io.

974
00:20:35,780 --> 00:20:36,360
And if you like

975
00:20:36,360 --> 00:20:36,960
this podcast

976
00:20:36,960 --> 00:20:37,840
and want to keep up

977
00:20:37,840 --> 00:20:38,780
with all things

978
00:20:38,780 --> 00:20:39,700
quote-unquote

979
00:20:39,700 --> 00:20:40,800
digital transformation,

980
00:20:41,340 --> 00:20:42,360
including some insightful

981
00:20:42,360 --> 00:20:43,480
posts from experts,

982
00:20:43,660 --> 00:20:44,900
some guides and explainers

983
00:20:44,900 --> 00:20:46,080
on cloud-native technology,

984
00:20:46,480 --> 00:20:47,360
and even highlights

985
00:20:47,360 --> 00:20:48,260
from these podcasts,

986
00:20:48,700 --> 00:20:49,340
you can visit

987
00:20:49,340 --> 00:20:50,460
Pivotal.io

988
00:20:50,460 --> 00:20:51,580
slash intersect

989
00:20:51,580 --> 00:20:53,420
as in the intersection

990
00:20:53,420 --> 00:20:54,220
of business

991
00:20:54,220 --> 00:20:55,000
and technology.

992
00:20:55,480 --> 00:20:55,780
That's

993
00:20:55,780 --> 00:20:57,180
Pivotal.io

994
00:20:57,180 --> 00:20:58,420
slash intersect.

995
00:20:59,140 --> 00:21:00,100
Thanks for listening.
