我们是一个小型创业公司,拥有一个写得很重的SAAS应用程序,并且(最终!)达到我们的使用呈现扩展问题的程度.我们有一个小团队,所以我们非常感谢能够将系统管理员卸载到Heroku和RDS.
虽然Heroku(大部分)都很好,但我们在使用RDS时遇到了一些问题:
此外,更改实例大小的停机时间很糟糕.
可用性.我们运行多个AZ实例,因此我们应该在单个AZ中断后继续存在.但是RDS是建立在EBS之上的,这让我非常担心EBS的历史和设计.
价钱.我们的RDS账单是我们支付Heroku的4倍.我不介意付钱亚马逊让我免于雇用系统管理员,但我很想找到更便宜的东西.
在我看来,我们有两个选择:传统的方法(分片,运行夜间工作以将我们数据库的部分移动到只读状态等); 或者是NewSQL解决方案(Xeround,VoltDB,NimbusDB等).
传统专业人士:之前已经做了很多次,并且有非常标准的方法可以做到这一点.
传统缺点:这将需要大量工作并在应用程序中引入显着的复杂性.它也无法解决RDS(可用性和价格)的次要问题.
NewSQL专业人士:据推测,这些解决方案将在不改变应用程序代码的情况下水平扩展我们的数据库(受SQL限制的一些限制,如不使用悲观锁定).这将为我们节省大量的工作.它还可以提高可靠性(无单点故障)并降低成本(无需在非工作时间运行XL实例以提供高峰使用率).
NewSQL缺点:这些解决方案相对年轻,我无法在生产应用程序中找到任何好的评论或人们对它们的体验.我只发现一个可用作托管解决方案(Xeround),所以除非我们使用那个,否则我们必须在sysadmin中投入资源.
我想知道我最好的选择是什么意见.
Xeround非常诱人(托管NewSQL),但我无法在生产中找到任何有用的信息.我见过的几条推文都让人抱怨它有点慢.我很担心搬到看似未经测试的东西.
我保守的一面是坚持使用RDS并采用传统方法.但就开发时间而言,这将是非常昂贵的.
然后我的一部分想知道是否还有另一种方式,也许是一个经过实战考验的托管NewSQL解决方案,我还没有听说过.或者也许是一个NewSQL解决方案,我们必须自己托管,但这有着非常可靠的历史.
提前感谢您的想法.
我有一张桌子,上面列有国家名单.说其中一个国家是'马其顿'
如果搜索"马其顿共和国",SQL查询将返回"马其顿"记录?
我相信在linq中会有类似的东西
var countryToSearch = "Republic of Macedonia";
var result = from c in Countries
where countryToSearch.Contains(c.cName)
select c;
Run Code Online (Sandbox Code Playgroud)
现在上面的查询的SQL等价物是什么?
如果它是相反的方式(即数据库存储了国家名称的长版本),下面的查询应该工作:
Select * from country
where country.Name LIKE (*Macedonia*)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何扭转它.
附注:表中的国家/地区名称始终是国家/地区名称的简短版本
我有两张桌子,custassets和tags.为了生成一些测试数据,我想做INSERT INTO一个多对多的表,SELECT每个表从每个表中获取随机行(这样一个表中的随机主键与第二个表中的随机主键配对).令我惊讶的是,这并不像我最初想的那么容易,所以我坚持用这个来自学.
这是我的第一次尝试.我选择10 custassets和3 tags,但两者在每种情况下都相同.第一个表被修复后我会没事的,但是我想随机分配分配的标签.
SELECT
custassets_rand.id custassets_id,
tags_rand.id tags_rand_id
FROM
(
SELECT id FROM custassets WHERE defunct = false ORDER BY RANDOM() LIMIT 10
) AS custassets_rand
,
(
SELECT id FROM tags WHERE defunct = false ORDER BY RANDOM() LIMIT 3
) AS tags_rand
Run Code Online (Sandbox Code Playgroud)
这会产生:
custassets_id | tags_rand_id
---------------+--------------
9849 | 3322 }
9849 | 4871 } this pattern of tag PKs is repeated
9849 | 5188 } …Run Code Online (Sandbox Code Playgroud) 我刚刚开始为我的网站创建一个数据库,所以我正在重新阅读,Database Systems - Design, Implementation and Management (9th Edition)但我注意到书中描述的没有一步一步的过程来创建一个组织良好和规范化的数据库.这本书似乎有点到处都是,尽管规范化过程都在一个地方,但导致它的步骤却没有.
我认为在一个列表中包含所有步骤是非常有用的,但我无法在网上或其他任何地方找到类似的内容.我意识到回答所有步骤的回答者将是一个非常广泛的步骤,但我将非常感谢任何我可以得到的这个主题; 包括规范化前的指令顺序和建议链接.
虽然我对这个过程半熟悉,但我花了很长时间(大约1年)来设计任何数据库,所以我想详细描述所有内容.
我特别感兴趣的是:
我想使用ER或EER(扩展实体关系模型),我想知道
(我已经熟悉了规范化过程,但答案也可以包含有关它的提示)
还需要帮助:
任何其他建议将不胜感激.
我有很多帖子保存在MySQL的InnoDB表中.该表具有"id","date","user","content"列.我想制作一些统计图表,所以我最终使用以下查询来获取昨天每小时的帖子数量:
SELECT HOUR(FROM_UNIXTIME(`date`)) AS `hour`, COUNT(date) from fb_posts
WHERE DATE(FROM_UNIXTIME(`date`)) = CURDATE() - INTERVAL 1 DAY GROUP BY hour
Run Code Online (Sandbox Code Playgroud)
这将输出以下数据:

我可以编辑此查询以获得我想要的任何一天.但我现在想要的是每天每小时的平均值,所以如果在第1天00点我有20个帖子,在第2天00点我有40个,我希望输出为"30".如果有可能,我希望能够选择日期.
提前致谢!
我有2个登录页面:Login.aspx-用于客户登录,xlogin.aspx用于管理员登录我刚刚将我的项目上传到服务器并且所有应用程序页面都运行良好但是当我登录admin xlogin.aspx时我正被转发到admin.aspx页面 - 但我收到此错误:
Server Error in '/' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file …Run Code Online (Sandbox Code Playgroud) 我希望在我的SQL查询中有三个表,但是我收到一条错误消息.
我有这个sql代码:
SELECT warehouse.expiry_date, pharmacy.expiry_date, drugs.active_substance,
drugs.strength, drugs.strength_type, drugs.dosage_form, drugs.minimum_quantity,
SUM(warehouse.in_quant)+SUM(pharmacy.in_quant)-SUM(warehouse.out_quant)-
SUM(pharmacy.out_quant) AS Total_available_stock
FROM drugs as a
INNER JOIN warehouse as b
ON a.ID = b.drug_id
INNER JOIN pharmacy as c
ON b.drug_id = c.drug_id
GROUP BY warehouse.expiry_date, pharmacy.expiry_date, drugs.active_substance,
drugs.strength, drugs.strength_type, drugs.dosage_form, drugs.minimum_quantity;
Run Code Online (Sandbox Code Playgroud)
我得到错误:
Syntax error (missing operator) in query expression in 'a.ID = b.drug_id
INNER JOIN pharmacy as c
on b.drug_id = c.drug_i'.
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
要旨
在执行大量40 GB以上的英语维基百科导入之前,我不得不暂时删除三个表('page','revision'和'text')中的索引和自动增量字段来处理负载.现在我终于成功地将英语维基百科导入我的本地机器并创建了一个本地镜像(MediaWiki API).好极了!
但是,我现在需要在不到十年的时间内重新创建索引和自动增量字段.幸运的是,(1)在删除索引和字段之前,我在phpmyadmin中拍摄了相关表格的大量屏幕截图; (2)我可以极其精确地解释我在导入之前采取的步骤; (3)对于任何流利MySQL的人来说,这都不应该太困难.不幸的是,我没有MySQL的专业知识,所以"婴儿步骤"的解释将非常有帮助.
我特别想要做什么(准备进口):
步骤1,2,3:此图像描述了我通过单击"更改"并取消选中"自动增量"(准备导入)修改字段page_id之前的表格页面.我对表修订中的字段rev_id和表格文本中的old_id执行了完全相同的修改,但省略了屏幕截图以避免冗余.

第4步:此图像描述了在删除所有表之前表页的索引.

步骤5:此图像描述了在删除所有表之前表修订的索引.

第6步:此图像描述了在删除所有表之前表格文本的索引.

我现在需要什么(进口后恢复):
我只需要恢复原始索引和自动增加字段而无需等待一百年.
设置细节:PHP 5.3.8(apache2handler),MySQL 5.5.16(InnoDB),Apache 2.2.21,Ubuntu 12.04 LTS,MediaWiki 1.19.0(私人wiki)
我有以下xml -
<Surveys xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ImmForm XML Schema NHS Direct.xsd"><Svy SurveyName="WeeklyFluSurveillance2012/13-NHSDirectWeek40w/e07/10/2012" OrgCode="NHS Direct"><TotCR>222.10</TotCR><PerCF>0.40</PerCF><PerCFunder1>0.20</PerCFunder1><PerCF1to4>0.30</PerCF1to4><PerCF5to14>0.50</PerCF5to14><PerCF15to44>0.40</PerCF15to44><PerCF45to64>0.20</PerCF45to64><PerCF65plus>3.60</PerCF65plus>
<PerCFNE>4.22</PerCFNE>
<PerCFNW>6.50</PerCFNW>
<PerCFYH>0.80</PerCFYH>
<PerCFEM>1.00</PerCFEM>
<PerCFWM>1.50</PerCFWM></Svy></Surveys>
Run Code Online (Sandbox Code Playgroud)
我需要在结果集中选择子节点名称及其值,其中包含2列(FieldName,FieldValue),如 -
TotCR 222.10
PerCF 0.40
...
PerCFWM 1.50
Run Code Online (Sandbox Code Playgroud)
xml中的节点会有所不同,但可能并不总是相同.甚至值也可以是整数或文本.
你们可以在SQL Server 2008 R2中使用OPENXML建议如何做到这一点吗?
我知道在标准SQL中你可以这样做:
update top (100) table1 set field1 = 1
Run Code Online (Sandbox Code Playgroud)
但是DB2中不允许这样做.任何人都可以告诉我如何在DB2中完成相同的结果?谢谢!
sql ×10
mysql ×4
database ×2
amazon-rds ×1
asp.net ×1
db2 ×1
ibm-midrange ×1
join ×1
linq ×1
mediawiki ×1
optimization ×1
performance ×1
postgresql ×1
random ×1
sharding ×1
sql-server ×1
t-sql ×1
web-config ×1
xampp ×1
xpath ×1