~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to DRIZZLE.FAQ

  • Committer: Stewart Smith
  • Date: 2008-07-13 06:56:15 UTC
  • mto: (210.1.1 drizzle)
  • mto: This revision was merged to the branch mainline in revision 211.
  • Revision ID: stewart@flamingspork.com-20080713065615-vzok75kgnnviokl9
Move MD5() into a UDF

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
A more current version of the FAQ can be found on the drizzle wiki:
2
 
http://drizzle.org/wiki/FAQ
3
 
 
4
 
 
5
 
Hi!
6
 
 
7
1
* So why?
8
2
 
9
3
I've been wondering for a long time now about all of the changes post 4.1.
10
4
I believe there is a large market of users who never wanted them, and never
11
5
cared for them. I also wanted to question the foundations of what we built.
12
 
Do users want wrong data? How often is the query cache really valuable? If
 
6
Do uses want wrong data? How often is the query cache really valuable? If
13
7
everyone just has a root user with all privs, why carry the baggage of the
14
8
ACL code. Etc.
15
9
 
16
 
* What is the goal?
 
10
* What is the GOAL?
17
11
 
18
12
A micro-kernel that we then extend to add what we need (all additions come
19
 
through interfaces that can be compiled/loaded in as needed).  The target
20
 
for the project is web infrastructure backend and cloud components.
21
 
 
22
 
* Is this a product of Sun/MySQL?
23
 
 
24
 
No, though several of the authors do work for Sun/MySQL. The development
25
 
model is one based around open collaboration.  
26
 
 
27
 
Drizzle's license is the GPL v2 and all contributions come in as BSD.
28
 
 
29
 
* So what are the differences between is and MySQL?
30
 
 
31
 
No modes, views, triggers, prepared statements, stored procedures, query
32
 
cache, data conversion inserts, ACL. Fewer data types.  Less engines, less
33
 
code.  Assume the primary engine is transactional.
 
13
through interfaces that can be compiled/loaded in as needed). 
 
14
 
 
15
* So the differences?
 
16
 
 
17
No modes, views, triggers, stored procedures, query cache, bad data inserts,
 
18
ACL. Less engines, less code. Assume the primary engine is transactional. 
34
19
 
35
20
* Why now?
36
21
 
39
24
* "This is awesome, but I need you to add back..."
40
25
 
41
26
Forget it. Nothing is going back in at this time. As for the future? Maybe,
42
 
but at the moment this is not the target. If you want more features, go use
43
 
MySQL.
 
27
but at the moment this suits my needs better. If you want more features, go
 
28
use MySQL.
44
29
 
45
30
* What platforms?
46
31
 
48
33
supported and will stay that way unless it gets a working posix layer +
49
34
autoconf system (aka becomes a platform that is reasonable to support).
50
35
 
51
 
Really, get a working GNU chain going on Windows and you can get Drizzle
52
 
working on it.
 
36
* What about XA?
53
37
 
54
 
Drizzle relies on a C99 compliant compiler. Please do not ask us to support
55
 
older hardware, compilers, or OS'es.
 
38
It may return as a bit in the protocol. Lets see if anyone notices that it is
 
39
gone first :)
56
40
 
57
41
* What is the future?
58
42
 
62
46
- Walk through all of the replication code
63
47
- Re-implement information schema
64
48
- Modular logging system
65
 
- ...
66
49
 
67
50
* "This is not a SQL compliant relational..."
68
51
 
69
 
Very true, and we do not aim to be that.
 
52
Very true, and we do not aim to be that. 
70
53
 
71
54
* What is left to be cut out?
72
55
 
73
 
Please ask on the mailing list or on IRC.
74
 
 
75
 
* Can I get involved?
76
 
 
77
 
Most certainly. There is plenty to do from refactoring code, design of
78
 
interfaces, documentation and blueprints, etc... The best way to get
79
 
involved it to join the mailing list at:
80
 
 
81
 
https://launchpad.net/~drizzle-discuss/
82
 
 
83
 
If you wish to suggest a refactoring project or an interface please email
84
 
the mailing list and keep an open mind. Do not expect anyone will work on
85
 
your idea though, you may influence someone to do that, but more then likely
86
 
you will need to rollup your sleeves and write some code. For very simple
87
 
bits you are welcome to ask others on #drizzle on Freenode, but please be
88
 
aware that you may be asked to email the mailing list.
89
 
 
90
 
Showing up with a big block of code is probably the worst way of getting
91
 
your work accepted. This is unlikely to work.
92
 
 
93
 
Right now we use a simple captain system for commits. Anyone can send in a
94
 
proprosal for merge via launchpad but your changes may be flowed first
95
 
through someone who has been around long enough to understand code
96
 
requirements to review your code. This system is based entirely on trust,
97
 
and individuals who have shown that they can provide three good patches gain
98
 
credibility. Starting small is fine, patches that are just comments or are
99
 
even two or three line cleanups are welcome and encouraged. I would really
100
 
recommend that anyone who wants to work on something first start with
101
 
something of this size. Patches like these are valuable and teach you how to
102
 
work with the system.
103
 
 
104
 
The general rule is no new code in the core of the server, and any changes
105
 
to interfaces need to be code line neutral. AKA if you want to add an
106
 
interface you need to be able to remove at least the number of lines of code
107
 
you added. This is a rule of thumb, and does not apply to code cleanup.
108
 
 
109
 
It should be pointed out that we are more focused on code style,
110
 
performance, and over all maintenance then we are features.
111
 
 
112
 
* What is the coding style?
113
 
 
114
 
Please look here:
115
 
 
116
 
http://drizzle.org/wiki/Coding_Standards
117
 
 
118
 
If you have a question on this, please email the mailing list so that we can
119
 
clarify the document. And when you get the answer? Please update the code
120
 
style document :)
121
 
 
122
 
* Should I email the mailing list with patches?
123
 
 
124
 
Please god no, we live in the age of the Internet :)
125
 
 
126
 
Create an account on launchpad.net. Create your own tree and let one of us
127
 
pull from it.
128
 
 
129
 
* What is the target?
130
 
 
131
 
Deliver a microkernel that we can use to build a database that meets the
132
 
needs of a web/cloud infrastructure. To this end we are exploring http
133
 
interfaces, sharding enhancements, etc... do not expect an Oracle, MySQL,
134
 
Postgres, or DB2.
135
 
 
136
 
There is no GA date at the moment.
137
 
 
138
 
We are focusing on multi-core architecture. This is not designed to run on a
139
 
wrist watch (hint, go use SQLite). We support both 32bit and 64bit but the
140
 
class of machine we are targetting is 64bit. We are making design decisions
141
 
which assume very large amounts of RAM will be made available to the DB.
142
 
 
143
 
* Can I run a website with this?
144
 
 
145
 
No. We are still making incompatible changes, and I certainly do not believe
146
 
the code is production quality. Right now we are defaulting many configure
147
 
operations to generate debugging code for us so our binaries are not
148
 
optimal.  Therefore, do not go out and benchmark this and expect it to be
149
 
one way or the other. We are currently only doing benchmarks where it makes
150
 
sense for us to determine where bottlenecks are.
 
56
Bit type... we need a longer list.
151
57
 
152
58
* Why drizzle?
153
59
 
154
 
I am from Seattle. Drizzle is our normal form of "rain" but it is not
155
 
"rain", it is drizzle. This was a bit of a rainy day project that finally
156
 
found a spot in my schedule :)
 
60
I am from Seattle. Drizzle is our normal form of "rain" but its not "rain".
 
61
It is drizzle.
157
62
 
158
63
  -Brian
159
64
    Seattle, USA
160
 
    Sun, Microsystems